Deutsch
Quelltexte/ Codesnippets

Bitmap Cursor Handle Icon Laden Speicher Zurüc

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Icon, Cursor oder Bitmap in Speicher laden und Handle zurückgeben
Die Funktion LoadImage lädt einen Cursor, ein Icon oder ein Bitmap in den Speicher und gibt dessen Handle zurück.
Parameter:
L1(Param.1 Longint )  - Hier steht das Instanz-Handle des Moduls, aus dem das Bild geladen werden soll.
Kann 0 sein, wenn das Bild aus einer Datei geladen wird und in Parameter 6 $10 vorhanden ist.
L2(Param.2 Longint )  - Wenn $10 definiert wude, steht hier die Adresse eines Strings, der den Dateinamen des Bildes
enthält.
Wenn $10 nicht definiert wurde und in L1(Param.1 Longint ) ein Instanz-Handle definiert wurde,
steht hier die Adresse eines Strings, der den Namen des Bildes in der Datei enthält.
Wenn $10 nicht definiert wurde und in L1(Param.1 Longint ) kein Instanz-Handle definiert wurde,
steht in den unteren zwei Byte (Word) der Identifier des OEM Images, das geladen werden soll.
I3(Param.3 Integer )  - Hier steht ein Flag für den Typ des Images, das geladen werden sollWert
Bedeutung :
 $0  = Bitmap
 $1  = Icon
 $2  = Cursor
I4(Param.4 Integer )  - Hier steht die gewünschte Breite des Bildes in Pixeln als Integer.
I5(Param.5 Integer )  - Hier steht die gewünschte Höhe des Bildes in Pixeln als Integer.
I6(Param.6 Integer )  - Flags die bestimmen, wie das Bild geladen werden soll. Flags können mit | addiert werdenWert  Bedeutung
 $0  = Lädt das Bild farbig.
 $1  = Lädt das Bild nicht farbig.
 $10  = Lädt ein Bild aus einer Bilddatei.
 $20  = Nimmt den Farbwert des ersten Pixels des Bildes und ersetzt alle Pixel mit diesem Farbwert durch die Hintergrundfarbe des Fensters.
 $40  = Lädt das Bild unter Verwendung der System Standardgrößen.
 $80  = Streckt das Bild nicht mit Parameter 4 und 5.
 $1000  = Ersetzt bestimmte Grauwerte durch Systemfarben.
Folgende Flags gibts nicht unter WindowsNTFlag
Bedeutung :
 $1  = Lädt das Bild nicht farbig.
 $40  = Lädt das Bild unter Verwendung der System Standardgröß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.
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

Endwhile

 
16.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.855 Betrachtungen

Unbenanntvor 0 min.
H.Brill14.04.2021
Axel Berse21.02.2013
funkheld31.03.2012
Michael Borowiak07.12.2011

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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