Seite 1 von 1

Window Background Color setzen ohne PureTools ??

Verfasst: 14.03.2005 16:56
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

Verfasst: 14.03.2005 17:56
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