Leeres Gadget

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Leeres Gadget

Beitrag von Frabbing »

Oder die Gadgets, die du in Gruppen verschieben möchtest, in einem ContainerGadget plazierst.
So ist es geplant, nur soll der Container nicht sichtbar sein. 8)
Die Greifer und Rahmen mache ich schon per mehrerer Canvas.

Edit: Ja, ein VD für PureBasic und XProfan. :wink:

Edit: WM_PAINT und WM_NCPAINT umzuleiten bringt leider kein brauchbares Ergebnis. :?
Gruß, Frank
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Leeres Gadget

Beitrag von RSBasic »

Toll, dann muss ich mich ja mit meinem VD beeilen. :( :D

Du kannst ja auch einen Button fürs Overlayen nutzen:

Code: Alles auswählen

EnableExplicit

Define EventID

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  ButtonGadget(1,0,0,0,0,"",0)
  
  ExplorerListGadget(2,10,10,200,200,"C:\",0)
  EditorGadget(3,220,10,200,200,0)
  SetGadgetText(3,"Hallo")
  
  ResizeGadget(1,10,10,410,200)
  SetWindowLongPtr_(GadgetID(1), #GWL_STYLE, GetWindowLongPtr_(GadgetID(1), #GWL_STYLE)|#WS_CHILD|#WS_VISIBLE|#BS_OWNERDRAW)
  
  Repeat
    EventID=WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf
Ist nur ein einfaches Beispiel. Wie du siehst, ist der Overlay-Button "unsichtbar" und du kannst dann im Callback deine Events auswerten, ob z.B. die Gadgetgruppe verschoben werden soll.
Vielleicht ist es das, was du brauchst.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Leeres Gadget

Beitrag von Frabbing »

Das Gadget ownerdrawn zu machen ist eine gute Überlegung, daran hatte ich noch nicht gedacht. :D
Man kann #BS_OWNERDRAW auch direkt als Buttonflag setzen.

Leider betrifft das Neuzeichnen auch alle Childs, die ich darauf lege; genauso wie das Abfangen der Paint-Messages diese beeinflusst. Grad eingebaut und getestet, so kann ich es aber nicht verwenden.
Scheint so, als müsse ich mir doch ganz was Anderes überlegen. :(
Gruß, Frank
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Leeres Gadget

Beitrag von RSBasic »

Und wenn du bei deinen Gadgets jeweils ein Callback aufrufst und das Neuzeichnen unterbindest? Hast du mal die Messages debuggt, um herauszufinden, welche Messages beim Neuzeichnen entstehen, die du dann unterbinden kannst?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Leeres Gadget

Beitrag von Frabbing »

Ja, natürlich. Wenn ich das Neuzeichnen unterbinde, wird auch das Neuzeichnen der zugehörigen Childs unterbunden, was natürlich nicht erwünscht ist. Die sollen ganz normal reagieren. :(
Gruß, Frank
Antworten