Window Background Color setzen ohne PureTools ??

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Window Background Color setzen ohne PureTools ??

Beitrag von nco2k »

hi folks,

im beispiel aus dem code archiv hier wird ein neuer brush erstellt und sollte/muss dann auch wieder gelöscht/freigegeben werden bevor das programm beendet wird.

wenn ich es aber so mache wie im code hier unten, wird kein(?) neuer brush erstellt und muss auch nicht(?) freigegeben werden, oder verstehe ich da was falsch?! :?

Code: Alles auswählen

SetClassLong_(WindowID(), #GCL_HBRBACKGROUND, GetStockObject_(#BLACK_BRUSH))
kann das jemand bestätigen?? war nur so eine idee...

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Mach es so, dann sollte der Brush meiner bescheidenen Meinung nach beim beenden automatisch gelöscht werden:

Code: Alles auswählen

Procedure.l Window_Form1()
  If OpenWindow(0,149,202,400,300,#PB_Window_SystemMenu,"")
    Brush.LOGBRUSH\lbColor=65535
    SetClassLong_(WindowID(0),#GCL_HBRBACKGROUND,CreateBrushIndirect_(Brush))
    InvalidateRect_(WindowID(0), #Null, #True)
    If CreateGadgetList(WindowID(0))
      ProcedureReturn WindowID()
    EndIf
  EndIf
EndProcedure

If Window_Form1()
  Repeat
    event = WaitWindowEvent()
  Until event = #PB_Event_CloseWindow
EndIf
Mfg
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten