Seite 3 von 3
Verfasst: 29.09.2008 21:47
von HeX0R
Ich hab das früher mal so gemacht:
Code: Alles auswählen
Procedure SetMyWinBackgroundImage(Hwnd.l, ImageID.l)
Protected BrushID.l
If ImageID <> -1
BrushID.l = CreatePatternBrush_( ImageID )
Else
BrushID = -1
EndIf
SetNewBrush(Hwnd, BrushID)
SetClassLong_(Hwnd, #GCL_HBRBACKGROUND, BrushID)
RedrawWindow_(HWnd, 0, 0, #RDW_INTERNALPAINT | #RDW_INVALIDATE | #RDW_ALLCHILDREN)
EndProcedure
Bin aber kein API-Guru, das hab ich mir aus den Foren zusammengeschustert.
Verfasst: 29.09.2008 21:49
von Kaeru Gaman
nachdem nun Hexor das problem identifiziert hat, kann ich dir nochn tip geben, wie es geht:
erzeuge das Imagegadget als erstes und Disable es dann, dann kannst du andere Gadgets drauflegen und es funzt.
Verfasst: 29.09.2008 21:52
von HeX0R
Gut, weil mir da oben noch ne Kleinigkeit fehlt... aber egal

Verfasst: 29.09.2008 21:52
von Palandt
Besten Dank, Kearu, das ist zumindest auch nen Ritterschlag wert!!! Sag nem Hohlkopf wie mir dann noch schnell, was du mit Disable meinst und ich kann ohne Gefahr eines nächtlichen Herzinfarktes beruhigt zu Bett gehen

?
Verfasst: 29.09.2008 21:56
von Kaeru Gaman
http://www.purebasic.fr/german/viewtopi ... 731#210731
echte z-order gibt es auf Windows nicht, auch das VS realisiert das meines erachtens nach mit einem refresh-hook.
Verfasst: 29.09.2008 21:59
von Palandt
Danke, und auch allen anderen, die mir in so kurzer Zeit, so schnell versucht haben, zu helfen!!! Wenn ich in 109 Jahren auch mal fit in PB bin, dann werd ich versuchen, es genauso zu halten.

Verfasst: 29.09.2008 22:11
von Kiffi
HeX0R hat geschrieben:Sodele, das Problem ist, dass du ein ImageGadget erstellst, das so gross ist, wie dein Fenster und dann darauf versuchst neue Gadgets zu platzieren.
und dann haben wir auch sofort die Erklärung, warum es bei mir
funktionierte: Ich habe alle Grafiken durch ein 16*16-Icon ersetzt, welches
demzufolge links oben verlassen und allein in der Ecke klebte und die
anderen Gadgets nicht beeinflusste.
Grüße ... Kiffi