Entweder steh' ich auf der Leitung und es ist ein Fehler drin oder da ist ein Bug im 4.0 drin! Wenn man das Fenster mit dem Maximieren-Icon drückt funktioniert die Fensteranpassung. Wenn ich versuche mit dem Size-Pfeilen das Fenster zu ziehen bekomme ich eine Fehlermeldung.
Kay
Code: Alles auswählen
Global Weite = 1000
Global Hoehe = 600
Procedure Form()
Feldweite = (Weite-208)/2
Feldhoehe = (Hoehe-48)/2
Image1 =CreateImage(1,Feldweite,Feldhoehe,32)
Image2 =CreateImage(2,Feldweite,Feldhoehe,32)
Image3 =CreateImage(3,Feldweite,Feldhoehe,32)
Image4 =CreateImage(4,Feldweite,Feldhoehe,32)
Image5 =CreateImage(5,Feldweite,Feldhoehe,32)
Image6 =CreateImage(6,Feldweite,Feldhoehe,32)
EndProcedure
Procedure Form2()
ImageGadget(1, 2, 2, Feldweite, Feldhoehe, ImageID(1))
ImageGadget(2, 402, 2, Feldweite, Feldhoehe, ImageID(2))
ImageGadget(3, 2, 282, Feldweite, Feldhoehe, ImageID(3))
ContainerGadget(100,Weite-198,2,196,596)
SetGadgetColor(100, #PB_Gadget_BackColor, RGB(192,192,192))
EndProcedure
If OpenPreferences("Editor.ini")
Else
CreatePreferences("Editor.ini")
WritePreferenceLong("Weite", 1000)
WritePreferenceLong("Hoehe", 600)
EndIf
Dim Figur.Point3D(8000)
OpenWindow(0,0,0,Weite,Hoehe,"MeshEditor",#PB_Window_SystemMenu | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
SetWindowColor(0, RGB(0,0,0))
If CreateGadgetList(WindowID(0))
Form()
For S= 1 To 6
StartDrawing(ImageOutput(S))
FillArea(250,175,RGB(255,255,255),RGB(255,255,255))
StopDrawing()
Next
Form2()
EndIf
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
Case #PB_Event_Gadget
EG = EventGadget()
Select EventType()
Case #PB_EventType_LeftClick
StartGrafikX = WindowMouseX(0)-GadgetX(EG)
StartGrafikY = WindowMouseY(0)-GadgetY(EG)
Set= 1
EndSelect
Case #WM_SIZE
Weite = WindowWidth(0)
Hoehe = WindowHeight(0)
Feldweite = (Weite-208)/2
Feldhoehe = (Hoehe-48)/2
ResizeGadget(1, 2, 2, Feldweite, Feldhoehe)
ResizeGadget(2, (Weite-196)/2, 2, Feldweite, Feldhoehe)
ResizeGadget(3, 2, (Hoehe-36)/2, Feldweite, Feldhoehe)
ResizeGadget(100,Weite-198,#PB_Ignore,#PB_Ignore,Hoehe-4)
ResizeImage(1,Feldweite,Feldhoehe,#PB_Image_Raw)
ResizeImage(2,Feldweite,Feldhoehe,#PB_Image_Raw)
ResizeImage(3,Feldweite,Feldhoehe,#PB_Image_Raw)
ResizeImage(4,Feldweite,Feldhoehe,#PB_Image_Raw)
ResizeImage(5,Feldweite,Feldhoehe,#PB_Image_Raw)
ResizeImage(6,Feldweite,Feldhoehe,#PB_Image_Raw)
SetGadgetState(1, ImageID(1))
SetGadgetState(2, ImageID(2))
SetGadgetState(3, ImageID(3))
Case #WM_MOUSEMOVE
If Set = 1
MoveGrafikX = WindowMouseX(0)-GadgetX(EG)
MoveGrafikY = WindowMouseY(0)-GadgetY(EG)
CopyImage(EG+3, EG)
StartDrawing(ImageOutput(EG))
LineXY(StartGrafikX, StartGrafikY, MoveGrafikX, MoveGrafikY , RGB(255,0,0))
StopDrawing()
SetGadgetState(EG, ImageID(EG))
EndIf
Case #WM_LBUTTONUP
Set = 0
CopyImage(EG, EG+3)
EndSelect
Until quit=1
ClosePreferences()
End