aber nicht durch

Ich hab 3 Bänder, die ich Speichern möchte, hauptsächlich eigentlich die
Postion und natürlich wiederherstellen

Hat da mal jemand sowas gemacht oder könnte nen Tip abgeben?
Gruß
Thomas
Alle Infos aller Bänder !ts-soft hat geschrieben:
> mit RB_GETBANDINFO die Einzelinformationen der Bänder abfragen
Welche, wie was brauche ich?
Code: Alles auswählen
If OpenWindow(0, 0,0,800,600, "Rebar-Test", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
Edit = StringGadget(0, 0,0,80,20, "StringGadget1")
Edit1 = StringGadget(1, 100,0,80,20, "StringGadget2")
Edit2 = StringGadget(2, 200,0,80,20, "StringGadget3")
Rebar = CreateWindowEx_(0,"ReBarWindow32","",$56800941,0,0,0,0,WindowID(0),2000,0,0)
RB.REBARBANDINFO
RB\cbSize = SizeOf(RB)
RB\fMask = #RBBIM_CHILDSIZE|#RBBIM_HEADERSIZE|#RBBIM_STYLE|#RBBIM_CHILD|#RBBIM_SIZE|#RBBIM_TEXT
RB\fStyle = #RBBS_GRIPPERALWAYS
RB\cxMinChild = 80
RB\cxHeader = 50
RB\cyChild = 24
RB\cyMinChild = 24
RB\cx = 0
RB\hwndChild = edit
RB\lpText=@"Edit0"
SendMessage_(Rebar,#RB_INSERTBAND,0,RB)
RB\cx = 200
RB\hwndChild = edit1
RB\lpText=@"Edit1"
SendMessage_(Rebar,#RB_INSERTBAND,1,RB)
RB\cx = 100
RB\hwndChild = edit2
RB\lpText=@"Edit2"
SendMessage_(Rebar,#RB_INSERTBAND,2,RB)
If ReadFile(0, "Bandall.data")
ReadData(0,RB,SizeOf(RB))
RB\hwndChild = edit
RB\lpText=@"Edit0"
SendMessage_(Rebar,#RB_SETBANDINFO,0,RB)
ReadData(0,RB,SizeOf(RB))
RB\hwndChild = edit1
RB\lpText=@"Edit1"
SendMessage_(Rebar,#RB_SETBANDINFO,1,RB)
ReadData(0,RB,SizeOf(RB))
RB\hwndChild = edit2
RB\lpText=@"Edit2"
SendMessage_(Rebar,#RB_SETBANDINFO,2,RB)
CloseFile(0)
EndIf
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
Case #PB_Event_CloseWindow
If CreateFile(0, "Bandall.data")
For I = 0 To SendMessage_(rebar,#RB_GETBANDCOUNT,0,0)-1
SendMessage_(Rebar,#RB_GETBANDINFO,I,RB)
WriteData(0,RB,SizeOf(RB))
Next I
CloseFile(0)
EndIf
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
Code: Alles auswählen
Global Rebar.l,RB.REBARBANDINFO
Procedure SaveBands()
If CreateFile(0, "Bandall.data")
For I = 0 To SendMessage_(rebar,#RB_GETBANDCOUNT,0,0)-1
SendMessage_(Rebar,#RB_GETBANDINFO,I,RB)
WriteData(0,RB,SizeOf(RB))
Next I
CloseFile(0)
EndIf
EndProcedure
Procedure RestoreBands()
If ReadFile(0, "Bandall.data")
FreeGadget(0)
FreeGadget(1)
FreeGadget(2)
For I = 0 To SendMessage_(rebar,#RB_GETBANDCOUNT,0,0)-1
ReadData(0,RB,SizeOf(RB))
Select RB\lParam
Case 0
RB\hwndChild = ToolBarID(0)
RB\lpText=@"Datei"
Case 1
RB\hwndChild = StringGadget(0,0,0,0,0, "Edit 1")
RB\lpText=@"Edit 1"
Case 2
RB\hwndChild = StringGadget(1,0,0,0,0, "Edit 2")
RB\lpText=@"Edit 2"
Case 3
RB\hwndChild = StringGadget(2,0,0,0,0, "Edit 3")
RB\lpText=@"Edit 3"
EndSelect
SendMessage_(Rebar,#RB_SETBANDINFO,I,RB)
Next I
CloseFile(0)
EndIf
EndProcedure
If OpenWindow(0, 0,0,800,600, "Rebar-Test", #PB_Window_SizeGadget|#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If CreateToolBar(0, WindowID(0))
ToolBarStandardButton(0, #PB_ToolBarIcon_New)
ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
ToolBarToolTip(0, 0, "neues Dokument")
ToolBarToolTip(0, 1, "Dokument öffnen")
ToolBarToolTip(0, 2, "Dokument speichern")
EndIf
SendMessage_(ToolBarID(0),#TB_SETSTYLE,0,#CCS_NODIVIDER|#CCS_NOPARENTALIGN|#WS_VISIBLE|#WS_CHILD|#TBSTYLE_FLAT|#TBSTYLE_TRANSPARENT|#TB_AUTOSIZE)
Rebar = CreateWindowEx_(0,"ReBarWindow32","",#WS_BORDER|#WS_CHILD|#WS_VISIBLE|#CCS_NODIVIDER|#RBS_BANDBORDERS|#RBS_AUTOSIZE,0,0,WindowWidth(0),120,WindowID(0),2000,0,0)
RB\cbSize = SizeOf(RB)
RB\fMask = #RBBIM_CHILDSIZE|#RBBIM_HEADERSIZE|#RBBIM_STYLE|#RBBIM_CHILD|#RBBIM_SIZE|#RBBIM_TEXT|#RBBIM_LPARAM
RB\cxMinChild = 100
RB\cxHeader = 50
RB\cyChild = 24
RB\cyMinChild = 24
RB\fStyle = #RBBS_GRIPPERALWAYS|#RBBS_CHILDEDGE
RB\cx = 150
RB\hwndChild = ToolBarID(0)
RB\lpText=@"Datei"
RB\lParam = 0
SendMessage_(Rebar,#RB_INSERTBAND,0,RB)
RB\cx = 100
RB\hwndChild = StringGadget(0, 0,0,0,0, "Edit 1")
RB\lParam = 1
RB\lpText=@"Edit 1"
SendMessage_(Rebar,#RB_INSERTBAND,1,RB)
RB\cx = 200
RB\hwndChild = StringGadget(1, 0,0,0,0, "Edit 2")
RB\lpText=@"Edit 2"
RB\lParam = 2
SendMessage_(Rebar,#RB_INSERTBAND,2,RB)
RB\cx = 100
RB\hwndChild = StringGadget(2, 0,0,0,0, "Edit 3")
RB\lpText=@"Edit 3"
RB\lParam = 3
SendMessage_(Rebar,#RB_INSERTBAND,3,RB)
RestoreBands()
Repeat
Event = WaitWindowEvent()
Select Event
Case #WM_SIZE
SetWindowPos_(Rebar, #Null, 0, 0, WindowWidth(0),SendMessage_(Rebar,#RB_GETBARHEIGHT,0,0), #SWP_NOMOVE | #SWP_NOZORDER | #SWP_NOACTIVATE)
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
Case #PB_Event_CloseWindow
SaveBands()
Quit = 1
EndSelect
Until Quit = 1
EndIf
End
Code nochmal upgedatet.ts-soft hat geschrieben: postitionieren macht er, aber ausser dem Gripper ist nichts zu sehen.
In RB\lParam ist ein viel zu grosser Wert bei mir