#PB_Event_Repaint
Verfasst: 07.08.2012 09:50
Hallo Leute,
entweder sehe ich da was falsch, oder beim #PB_Event_Repaint Ereignis läuft gewaltig was falsch. Nachfolgend gehe ich immer davon aus, dass das Fenster vom Anwender in der Horizontalen um 1 Pixel vergrößert wird. Beim Verkleinern und Änderung in der Vertikalen kann es ein wenig anders aussehen.
lg
Josh
Code verwendet unter Win7, PB 4.60
Edit: bei einer Toolbar kommt das Ereignis 5x und nicht wie vorher angegeben 4x
entweder sehe ich da was falsch, oder beim #PB_Event_Repaint Ereignis läuft gewaltig was falsch. Nachfolgend gehe ich immer davon aus, dass das Fenster vom Anwender in der Horizontalen um 1 Pixel vergrößert wird. Beim Verkleinern und Änderung in der Vertikalen kann es ein wenig anders aussehen.
- Bei einem leeren Fenster bekomme ich 2x das Repaint Ereignis, was nach meiner Meinung schon 1x zu viel ist.
- Füge ich ein Menü dazu, ändert sich nichts.
- Füge ich eine Toolbar dazu, bekomme ich das Repaint Ereignis schon 5x für jedes Pixel in der Breite.
- Füge ich dann noch eine Statusbar dazu, dann kommt noch mal ein Repaint Ereignis dazu.
lg
Josh
Code: Alles auswählen
Procedure WinCallback(hWnd, uMsg, wParam, lParam)
If uMsg = #WM_PAINT
Debug "WM_PAINT"
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
OpenWindow(0, 0, 0, 500, 200, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
SetWindowCallback(@WinCallback())
CreateMenu(0, WindowID(0))
MenuTitle("Datei")
MenuItem( 1, "Neu")
MenuItem( 1, "Neu")
MenuItem( 1, "Neu")
CreateToolBar (0, WindowID(0))
ToolBarStandardButton (0, #PB_ToolBarIcon_New)
ToolBarStandardButton (1, #PB_ToolBarIcon_Open)
ToolBarStandardButton (2, #PB_ToolBarIcon_Save)
CreateStatusBar (0, WindowID(0))
AddStatusBarField (100)
AddStatusBarField (100)
AddStatusBarField (100)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_SizeWindow : Debug "Size Window"
Case #PB_Event_Repaint : Debug "Repaint"
EndSelect
Until Event = #PB_Event_CloseWindowEdit: bei einer Toolbar kommt das Ereignis 5x und nicht wie vorher angegeben 4x