Verzweiflung: Fenster reagiert nicht, Fehler nicht auffindba

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag 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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Gut, weil mir da oben noch ne Kleinigkeit fehlt... aber egal ;)
Benutzeravatar
Palandt
Beiträge: 155
Registriert: 18.09.2008 09:33

Beitrag 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 :) ?
Wenn die dicke Frau klatscht, ist die Oper zu Ende
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Palandt
Beiträge: 155
Registriert: 18.09.2008 09:33

Beitrag 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. :)
Wenn die dicke Frau klatscht, ist die Oper zu Ende
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Antworten