tagchen,
wenn unter einer bildschirmauflöung von 640x480 programmiere und folgenden code den ich durch
rumprobieren herausfand ins oncreate-ereignis eines formulars einsetze, paßt sich das formular
der aktuellen bildschirmauflöung an:
const<br>
wide = 640;<br>
height = 480;<br>
var<br>
schrift:longint;<br>
begin<br>
{***********************Bildschirmauflösung******* *******************}<br>
if pixelsperinch = 96 then schrift := 0;<br>
{Wenn kleine Schriften eingestellt sind muß nichts<br>
abgezogen werden}<br>
if pixelsperinch = 120 then schrift := 28;<br>
{Wenn große Schriften eingestellt sind muß 25<br>
abgezogen werden. Diesen Wert habe ich durch<br>
"rumprobieren" herausgefunden}<br>
if (screen.width = wide) and (screen.height = height) then scaleby(100-schrift,100);<br>
{Wenn die aktuelle Bildschirmauflösung die gleiche ist wie die bei der das Programm<br>
programmiert wird, wird nicht skaliert, außer es sind große Systemschriften eingestellt.}<br>
if (screen.width = 800) and (screen.height = 600) and (pixelsperinch = 96)<br>
then scaleby(124,100);<br>
if (screen.width = 1024) and (screen.height = 768) and (pixelsperinch = 96)<br>
then scaleby(157,100);<br>
if (screen.width = 800) and (screen.height = 600) and (pixelsperinch = 120)<br>
then scaleby(124-25,100);<br>
if (screen.width = 1024) and (screen.height = 768) and (pixelsperinch = 120)<br>
then scaleby(157-32,100);<br>
{***********************Bildschirmauflösung******* *******************}<br>
end;<br>
jetzt programmiere ich aber auf 800x600 und jetzt klappt es nicht mehr. statt wieder rumprobieren<br>
hätte ich gerne eine mathematische universallösung um bei jeder bildschirmauflösung und schrift-<br>
größe den richtigen wert heraus zu finden.<br>
wer kann mir helfen??????<br>
mfg
markus
wenn unter einer bildschirmauflöung von 640x480 programmiere und folgenden code den ich durch
rumprobieren herausfand ins oncreate-ereignis eines formulars einsetze, paßt sich das formular
der aktuellen bildschirmauflöung an:
const<br>
wide = 640;<br>
height = 480;<br>
var<br>
schrift:longint;<br>
begin<br>
{***********************Bildschirmauflösung******* *******************}<br>
if pixelsperinch = 96 then schrift := 0;<br>
{Wenn kleine Schriften eingestellt sind muß nichts<br>
abgezogen werden}<br>
if pixelsperinch = 120 then schrift := 28;<br>
{Wenn große Schriften eingestellt sind muß 25<br>
abgezogen werden. Diesen Wert habe ich durch<br>
"rumprobieren" herausgefunden}<br>
if (screen.width = wide) and (screen.height = height) then scaleby(100-schrift,100);<br>
{Wenn die aktuelle Bildschirmauflösung die gleiche ist wie die bei der das Programm<br>
programmiert wird, wird nicht skaliert, außer es sind große Systemschriften eingestellt.}<br>
if (screen.width = 800) and (screen.height = 600) and (pixelsperinch = 96)<br>
then scaleby(124,100);<br>
if (screen.width = 1024) and (screen.height = 768) and (pixelsperinch = 96)<br>
then scaleby(157,100);<br>
if (screen.width = 800) and (screen.height = 600) and (pixelsperinch = 120)<br>
then scaleby(124-25,100);<br>
if (screen.width = 1024) and (screen.height = 768) and (pixelsperinch = 120)<br>
then scaleby(157-32,100);<br>
{***********************Bildschirmauflösung******* *******************}<br>
end;<br>
jetzt programmiere ich aber auf 800x600 und jetzt klappt es nicht mehr. statt wieder rumprobieren<br>
hätte ich gerne eine mathematische universallösung um bei jeder bildschirmauflösung und schrift-<br>
größe den richtigen wert heraus zu finden.<br>
wer kann mir helfen??????<br>
mfg
markus
Comment