|
Beschreibung:
qui Funktion LoadImage invite une Cursor, un Icon ou bien un Bitmap dans den grenier et gibt dessen Handle zurück.
Deklaration:
DEF @LoadImage(6) !USER32,LoadImageA
paramètre:
1.paramètre: ici steht cela Instanz-Handle des Moduls, aus dem cela Bild geladen volonté soll. peux 0 son, si cela Bild aus einer Dossier geladen wird et dans paramètre 6 ‚$10’ vorhanden ist. 2.paramètre: si $10 défini wude, steht ici qui Adresse eines Cordes, qui den Dateinamen des Bildes contient. si $10 pas défini wurde et dans paramètre 1 un Instanz-Handle défini wurde, steht ici qui Adresse eines Cordes, qui den Namen des Bildes dans qui Dossier contient. si $10 pas défini wurde et dans paramètre 1 ne...aucune Instanz-Handle défini wurde, steht dans den unteren deux Byte (Word) qui Identifier des OEM Images, cela geladen volonté soll. 3.paramètre: ici steht un Flag pour den Typ des Images, cela geladen volonté soll => $0 = Bitmap $1 = Icon $2 = Cursor 4.paramètre: ici steht qui gewünschte Breite des Bildes dans Pixeln comme Integer. 5.paramètre: ici steht qui gewünschte Hauteur des Bildes dans Pixeln comme Integer. 6.paramètre: Flags qui bestimmen, comment cela Bild geladen volonté soll. Flags peut avec | addiert volonté => -$0 = Lädt cela Bild farbig. -128 = Streckt cela Bild pas avec paramètre 4 et 5. Folgende Flags gibt’s pas sous WindowsNT => -$1 =Lädt cela Bild pas farbig. -$40 = Lädt cela Bild sous Verwendung qui System Standartgrößen. -$10 = Lädt un Bild aus einer Bilddatei. -$1000 = Ersetzt bestimmte Grauwerte par Systemfarben. -$20 = Nimmt den Farbwert des ersten Pixels des Bildes et ersetzt alle Pixel avec diesem Farbwert par qui Hintergrundfarbe des Fensters.
Rückgabewert:
Wurde qui Funktion erfolgreich durchgeführt, wird cela Handle des erzeugten Objektes zurückgeliefert. chez Misserfolg 0.
Beispiele:
KompilierenMarqueSéparationDef GetSysColor(1) !"USER32","GetSysColor"
DEF @LoadImage(6) !"USER32","LoadImageA"
SETTRUECOLOR 1
DECLARE ENDE%,x1%,y1%,sicher%,bild&
DECLARE HSCROLL1%,HWSTATUS&,HWSTATUS2&,Bild$
DECLARE VSCROLL1%,Hwscrollrech%,Vscrollrech%
PROC BILDLADEN
Parameters bild$,x%,y%,hw&
Declare wfb#,bild&,h&
Dim wfb#,Add(Len(bild$),1)
String wfb#,0=bild$
Let h&=LoadImage(0,wfb#,0,x%,y%,$50)
bild&=Control("STATIC","",$05000010E,0,0,x%,y%,hw&,2001,%hinstance)
@SendMessage(bild&,$172,0,h&)
Dispose wfb#
return bild&
ENDPROC
PROC LADEN
PARAMETERS BILD$
MLoadBMP BILD$ Nur um die X und Y Werte zu ermitteln!
X1%=%BmpX
y1%=%BmpY
destroywindow(bild&)
BILDLADEN BILD$,X1%,Y1%,hwstatus&
bild&=@&(0)
hwstatus2&=@&(0)
SetScrollRange hscroll1%,0,div(x1%,2)
SetScrollRange Vscroll1%,0,div(y1%,2)
SetScrollPos hscroll1%,0
SetScrollPos vscroll1%,0
Return bild&
ENDPROC
WINDOWSTYLE 63
WINDOWTITLE "TASTE F12 neues Bild laden"
WINDOW 236,190-501,311
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
HSCROLL1% = CREATE("HScroll",%HWND,"",0002,0260,0490,0016)
VSCROLL1% = CREATE("VScroll",%HWND,"",0476,0002,0016,0256)
hwstatus&=Control("STATIC","",$54001100,2,2,472,255,%hwnd,2000,%hinstance,512) Wenn kleinere Profanversion, bitte 512 entfernen!!!
Bild$=""
EnableWindow HSCROLL1%,0
EnableWindow VSCROLL1%,0
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF EQU(%SCANKEY,123)
LET BILD$=@LOADFILE$("ÖFFNE:","*.BMP")
IF neq$(Bild$,"")
LADEN Bild$
bild&=@&(0)
ELSE
DestroyWindow (Bild&)
EnableWindow HSCROLL1%,0
EnableWindow VSCROLL1%,0
Endif
ENDIF IF NEQ$(BILD$,"")
EnableWindow HSCROLL1%,1
EnableWindow VSCROLL1%,1
IF GETFOCUS(HSCROLL1%) HScroll
hwscrollrech%=getscrollpos(hscroll1%)-getscrollpos(hscroll1%)*2
setwindowpos hwstatus2&=hwscrollrech%,vscrollrech%-x1%,y1%,0
REPAINT
setfocus(%hwnd)
ELSEIF GETFOCUS(VSCROLL1%) VScroll
Vscrollrech%=getscrollpos(Vscroll1%)-getscrollpos(Vscroll1%)*2
setwindowpos hwstatus2&=hwscrollrech%,Vscrollrech%-x1%,y1%,0
REPAINT
setfocus(%hwnd)
ENDIF
ENDIF
WEND
|
|