|
Descripción:
El Función LoadImage lädt una Cursor, una Icon oder una Mapa de bits en el Speicher y son dessen Handle zurück.
Deklaration:
DEF @LoadImage(6) !USER32,LoadImageA
Parámetro:
1.Parámetro: Hier es el Instanz-Handle des Moduls, de el el Bild geladen voluntad se. Kann 0 ser, si el Bild de uno Expediente geladen se y Parámetro 6 ‚$10’ disponible es. 2.Parámetro: Wenn $10 definiert wude, es hier el Adresse uno Cuerdas, el el Dateinamen des Bildes enthält. Wenn $10 no definiert wurde y Parámetro 1 una Instanz-Handle definiert wurde, es hier el Adresse uno Cuerdas, el el Namen des Bildes en el Expediente enthält. Wenn $10 no definiert wurde y Parámetro 1 kein Instanz-Handle definiert wurde, es en el unteren zwei Byte (Word) el Identifier des OEM Images, el geladen voluntad se. 3.Parámetro: Hier es una Flag para el Typ des Images, el geladen voluntad se => $0 = Mapa de bits $1 = Icon $2 = Cursor 4.Parámetro: Hier es el gewünschte Breite des Bildes en Pixeln como Integer. 5.Parámetro: Hier es el gewünschte Höhe des Bildes en Pixeln como Integer. 6.Parámetro: Flags el bestimmen, como el Bild geladen voluntad se. Flags puede con | addiert voluntad => -$0 = Lädt el Bild farbig. -128 = Streckt el Bild no con Parámetro 4 y 5. Folgende Flags gibt’s no bajo WindowsNT => -$1 =Lädt el Bild no farbig. -$40 = Lädt el Bild bajo Verwendung el Sistema Standartgrößen. -$10 = Lädt una Bild de uno Bilddatei. -$1000 = Ersetzt cierto Grauwerte por Systemfarben. -$20 = Nimmt el Farbwert des ersten Pixels des Bildes y ersetzt todos Pixel con diesem Farbwert por el Color de fondo la ventana.
Rückgabewert:
Wurde el Función erfolgreich durchgeführt, se el Handle des erzeugten Objektes zurückgeliefert. En Misserfolg 0.
Beispiele:
KompilierenMarcaSeparaciónDef 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
|
|