Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249122 (10558)
  Suchen
 Zurück zur Übersicht
 AutorThema: loadImage
Jörg Sellmeyer
Datum:08.03.02 17:27 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Kann mir jemand sagen, warum ich bei folgendem Code nur ab und an ein Handle durch
LoadImage erhalte ? In nicht nachzuvollziehendem Wechsel wird mal das Bild auf dem
Static angezeigt- mal nicht.
Und eben auch nur manchmal ein Handle erzeugt. Und seltsamerweise wird auch in der
Whileschleife kein Handle erzeugt wenn es beim ersten Mal nicht klappt.
Ratlose Grüße
Jörg

cls
ShowMax
declare bmp$,hbmp&,hStatic&,S%
Def LoadImage(6) !"USER32","LoadImageA"
Def SetWindowLong(3) !"USER32", "SetWindowLongA"
bmp$=$winpath + "\\setup.bmp"
LoadBmp bmp$,0,0;0
hbmp&=LoadImage(%hwnd,addr(bmp$),0,0,0,$50)
If hbmp&=0
   WhileLoop 10
      hbmp&=LoadImage(%hwnd,addr(bmp$),0,0,0,$50)
      S%=&Loop
   Wend
EndIf
hStatic&=Control("STATIC","",$5400010E,100,100,100,100,%hwnd,$7918,%hinstance)
SetWindowLong(hStatic&,-20,32)
SendMessage(hStatic&,$172,0,hbmp&)
print bmp$,hbmp&,hStatic&,s%
WaitInput



Frank Abbing
Datum:08.03.02 20:22 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo Jörg,

hab' das Programm ca. 20x ausprobiert, jedesmal klappte es auf Anhieb unter WindowsXP. Allerdings hab' ich ein anderes Bild mit anderem Pfad geladen.
Entweder liegt es an deinem Bildnamen (Pfad) oder daran, das die Breite des Bildes nicht durch vier teilbar ist. Das macht hin und wieder Probleme, wie ich selber auch schon mal schmerzlich bemerkt habe.

Gruß, Frank


Jörg Sellmeyer
Datum: 08.03.02 22:33 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Frank,
Danke für den Test.
Bei mir (Win98) funktioniert es mit unterschiedlichen Bitmaps nur unregelmäßig,
besonders wenn ich das Programm mehrmals schnell hintereinander starte.
Habe es jetzt über ein Handle auf die Memorybitmap gelöst (Sebastian König sei Dank)
Gruß
Jörg


 Zurück zur Übersicht