SetWindowData()
Verfasst: 01.08.2007 14:59
Gibt es so etwas wie SetWindowData() (als Gegenstück zu SetGadgetData())?
Code: Alles auswählen
SetProp_(hWnd, "MeinLong", 100)
a = GetProp_(hWnd, "MeinLong")
RemoveProp_(hWnd, "MeinLong")
Code: Alles auswählen
EnableExplicit
Procedure SubClassWindow(hWnd.l, *ProcAddress)
SetProp_(hWnd, "handler", SetWindowLong_(hWnd, #GWL_WNDPROC, *ProcAddress))
EndProcedure
Procedure UnSubClassWindow(hWnd.l)
SetWindowLong_(hWnd, #GWL_WNDPROC, GetProp_(hwnd, "handler"))
RemoveProp_(hWnd, "handler")
EndProcedure
Procedure MyCallBack(hWnd.l, uMsg.l, wParam.l, lParam.l)
Select uMsg
Case #WM_LBUTTONDBLCLK : Debug "LBUTTONDBLCLK"
Case #WM_MBUTTONDBLCLK : Debug "MBUTTONDBLCLK"
Case #WM_RBUTTONDBLCLK : Debug "RBUTTONDBLCLK"
EndSelect
ProcedureReturn CallWindowProc_(GetProp_(hWnd, "handler"), hwnd, uMsg, wParam, lParam)
EndProcedure
If OpenWindow(0, 200, 200, 200, 200, "") And CreateGadgetList(WindowID(0))
ButtonGadget(0,10,10,180,180,"test")
SubClassWindow(GadgetID(0), @MyCallBack())
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
UnSubClassWindow(GadgetID(0))
Break
EndSelect
ForEver
nöh, man kann ja nicht alles gesehen haben.ts-soft hat geschrieben:Sowas solltet Ihr aber schon gesehen haben![]()
Ich auch noch nichtKiffi hat geschrieben:nöh, ...ts-soft hat geschrieben:Sowas solltet Ihr aber schon gesehen haben![]()
Code: Alles auswählen
SetWindowLong_(hWnd, #GWL_USERDATA, value)