Seite 1 von 1

Fensterdaten durch handle abfragen

Verfasst: 15.07.2005 16:08
von spacewalker
Hallo Leute !

Komme grad nicht weiter, vielleicht kann ja jemand weiter helfen...

Wie kann man z.B. Fensterbreite und Fensterhoehe ueber ID abfragen ?

Irgendwie finde ich im Netz nicht wirklich was :(

Code: Alles auswählen

;----------------------------------
Enumeration
   #main
EndEnumeration

Enumeration
   #list
EndEnumeration

Declare GetWindows(win)
Declare GetWindowData(string$)

OpenWindow(#main,1,1,640,480,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"test")
If CreateGadgetList(WindowID())
   ListViewGadget(#list,0,0,640,480)
EndIf
EnumChildWindows_(FindWindowEx_(FindWindow_("Shell_TrayWnd", 0),0,"MSTaskSwWClass", 0),@GetWindows(), 0)
Repeat
   wevent = WaitWindowEvent()
   gevent = EventGadgetID()
   If wevent = #PB_Event_Gadget
      Select gevent
         Case #list
            Select EventType()
               Case #PB_EventType_LeftDoubleClick
                  GetWindowData(GetGadgetItemText(#list,GetGadgetState(#list),0))
            EndSelect
      EndSelect
   EndIf
Until wevent = #PB_Event_CloseWindow 
End

Procedure GetWindows(win)    
  window$ = Space(255)  
  GetWindowText_(win, window$, 255) 
  If window$ And IsWindowVisible_(win) And window$ <> "Program Manager"
   AddGadgetItem(#list,-1,window$) 
  EndIf  
  ProcedureReturn #True 
EndProcedure

Procedure GetWindowData(string$)
   handle = FindWindow_(0,string$)
   ShowWindow_(handle,#SW_RESTORE)   
   
EndProcedure
;----------------------------------------

Verfasst: 15.07.2005 16:31
von DarkDragon
Welche ID? Das Handle oder die PureBasic Fensternummer?

Code: Alles auswählen

Procedure WindowWidth_(handle)
  GetWindowRect_(handle, @rc.RECT)
  ProcedureReturn rc\right-rc\left
EndProcedure

Procedure WindowHeight_(handle)
  GetWindowRect_(handle, @rc.RECT)
  ProcedureReturn rc\bottom-rc\top
EndProcedure

Verfasst: 15.07.2005 16:37
von spacewalker
Hat genau gepasst, danke !
:allright: