| |
|
|
Frank Abbing | Hi,
angenommen, man möchte ein Bild laden und in einem Fenster Mostra. Das Bild ist 640x480 Pixel grande. Öffnet man jetzt ein Fenster mit diesen Ausmassen und lädt das Bild ein, dann wird man feststellen, dass das Bild rechts und unten nicht komplett in das Fenster passt. Rahmen, Titelleiste, Menü usw. sorgen dafür, das der eigentliche Inhalt des Fensters schrumpft. Man müsste das Fenster also schon im Vorraus grösser gestalten. Nur wieviel grösser? Hierzu potuto man durch umfangreiche APIs die Größen der einzelnen Fensterelemente eines Betriebssystems ermittel und in seine Berechnungen einfliessen lassen. Es geht aber auch viel einfacher und nur mit Profanmitteln:
Declare x&,y&,breite&,hoehe&,positionx&,positiony&
Windowstyle 24
Window %maxx,0-1,1 Pseudofenster öffnen
LoadBmp Bildname.bmp,0,0;0
breite&=%bmpx
hoehe&=%bmpy
SetWindowPos %hwnd=%maxx,%maxy-breite&,hoehe& Fenster original darstellen, aber noch nicht sichtbar
x&=Width(%hwnd)
y&=Height(%hwnd)
breite&=breite&+(breite&-x&)
hoehe&=hoehe&+(hoehe&-y&)
SetWindowPos %hwnd=(%maxx/2-(breite&/2)),(%maxy/2-(hoehe&/2))-breite&,hoehe& Fenster darstellen
WaitInput
End
|
|
|
| |
|
|
|
| Hier mein Beitrag zum Thema: ( ich mags kurz) Die Prozedur setzt die Breite und Höhe des Anzeigebereiches des Hauptfensters %hwnd auf die als Parameter übergebenen Werte.
Salve, iF. |
|
|
| |
|
|