Italia
Stammtisch & Caffè

LoadImage.

 


Beschreibung:

Die Funktion LoadImage lädt einen Cursor, ein Icon oder ein Bitmap in den Speicher und gibt dessen Handle zurück.




Deklaration:

DEF @LoadImage(6) !USER32,LoadImageA




Parameter:

1.Parameter: Hier steht das Instanz-Handle des Moduls, aus dem das Bild geladen werden soll. Kann 0 sein, wenn das Bild aus einer File geladen wird und in Parameter 6 ‚$10’ vorhanden ist.
2.Parameter:
Wenn $10 definiert wude, steht hier die Adresse eines Strings, der den Dateinamen des Bildes enthält.
Wenn $10 nicht definiert wurde und in Parameter 1 ein Instanz-Handle definiert wurde, steht hier die Adresse eines Strings, der den Namen des Bildes in der File enthält.
Wenn $10 nicht definiert wurde und in Parameter 1 kein Instanz-Handle definiert wurde, steht in den unteren zwei Byte (Word) der Identifier des OEM Images, das geladen werden soll.
3.Parameter: Hier steht ein Flag per den Typ des Images, das geladen werden soll =>
$0 = Bitmap
$1 = Icon
$2 = Cursor
4.Parameter: Hier steht die gewünschte Breite des Bildes in Pixeln als Integer.
5.Parameter: Hier steht die gewünschte Höhe des Bildes in Pixeln als Integer.
6.Parameter: Flags die bestimmen, wie das Bild geladen werden soll. Flags können mit | addiert werden =>
-$0 = Lädt das Bild farbig.
-128 = Streckt das Bild nicht mit Parameter 4 und 5.
Folgende Flags gibt’s nicht unter WindowsNT =>
-$1 =Lädt das Bild nicht farbig.
-$40 = Lädt das Bild unter Verwendung der System Standartgrößen.
-$10 = Lädt ein Bild aus einer Bilddatei.
-$1000 = Ersetzt bestimmte Grauwerte durch Systemfarben.
-$20 = Nimmt den Farbwert des ersten Pixels des Bildes und ersetzt alle Pixel mit diesem Farbwert durch die Hintergrundfarbe des Fensters.



Rückgabewert:

Wurde die Funktion erfolgreich durchgeführt, wird das Handle des erzeugten Objektes zurückgeliefert. Bei Misserfolg 0.


Beispiele:

KompilierenMarkierenSeparieren
Def 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

 
08.03.2005  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.054 Views

Untitledvor 0 min.
Rainer Hoefs02.05.2023
Jörg Sellmeyer24.06.2018
Uwe Lang03.09.2012
Michaeal21.03.2012

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie