Verfasst: 15.08.2007 17:04
Setz die anderen Gadgets nach hinten, dann kannst du wieder schieben.Xaby hat geschrieben:
Ich habe ein großes ImageGadget(), ein ListViewGadget und dann ist mein Fenster auch schon voll. Also ich habe keine Fläche vom Fenster, die von Gadgets nicht belegt ist.
Code: Alles auswählen
Global OldCB.l
Procedure ContainerCB(wnd,msg,wparam,lparam)
Select msg
Case #WM_MOVE
RedrawWindow_(wnd,0,0,#RDW_ALLCHILDREN|#RDW_UPDATENOW|#RDW_INVALIDATE)
Case #WM_NCHITTEST
ProcedureReturn #HTCAPTION
EndSelect
ProcedureReturn CallWindowProc_(oldCB,wnd,msg,wparam,lparam)
EndProcedure
If OpenWindow(0, #PB_Ignore,#PB_Ignore,640,480, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID(0))
ImageGadget(100,0,0,WindowWidth(0),WindowHeight(0),0,#PB_Image_Border)
ContainerGadget(1, 120, 40, 306, 140, #PB_Container_Raised)
ContainerGadget(2, 0, 20, 300, 114, #PB_Container_Single)
CloseGadgetList()
TextGadget(3, 10,4,100,16,"Meine Tools")
CloseGadgetList()
SetGadgetColor(1,#PB_Gadget_BackColor,RGB(128,0,0))
SetGadgetColor(3,#PB_Gadget_BackColor,RGB(128,0,0))
SetGadgetColor(3,#PB_Gadget_FrontColor,RGB(255,255,0))
If CreateToolBar(0, GadgetID(2))
;Nur zum testen
For I = 0 To 64
ToolBarStandardButton(i,Random(14))
Next i
OldCB = SetWindowLong_(GadgetID(1),#GWL_WNDPROC,@ContainerCB());Callback für Container(1) setzen
SendMessage_(ToolBarID(0),#TB_SETSTYLE,0,$50000041|#TBSTYLE_WRAPABLE);Neuen Style für Toolbar setzn
SendMessage_(ToolBarID(0),#TB_AUTOSIZE,0,0);Toolbar neuzeichnen
EndIf
;#########
;hier wird das Imagegadget nach hinten gesetzt
;#########
SetWindowPos_(GadgetID(100),#HWND_BOTTOM,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
EndIf
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Menu
MessageRequester("Menüpunkt",Str(EventMenu()),0)
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Quit = 1
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf
End