Ermittelt das begrenzende Rechteck eines Tab-Controls
#include <GuiTab.au3>
_GUICtrlTab_GetDisplayRectEx ( $hWnd )
| $hWnd | Handle des Tab-Controls |
Diese Funktion kann verwendet werden, um die Koordinaten jenes Teils des Tab-Controls zu ermitteln, welcher den Inhalt der Tab-Seite enthält.
Das Äußere dieses Teils des Tab-Controls ändert sich nicht, wenn verschiedene Tabs ausgewählt werden.
Die $tagRECT-Struktur hält die Koordinaten in den folgenden Membervariablen bereit:
| Left | X-Koordinate der oberen linken Ecke |
| Top | Y-Koordinate der oberen linken Ecke |
| Right | X-Koordinate der unteren rechten Ecke |
| Bottom | Y-Koordinate der unteren rechten Ecke |
$tagRECT, _GUICtrlTab_GetDisplayRect
#include "Extras\HelpFileInternals.au3"
#include <GUIConstantsEx.au3>
#include <GuiTab.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Erstellt eine GUI
Local $hGUI = GUICreate("Tab-Control: Ermittelt das Rechteck mit RectEx (v" & @AutoItVersion & ")", 500, 300, 100, 100)
Local $idTab = GUICtrlCreateTab(2, 2, 446, 266)
_MemoMsgBoxStatus() ; Statuserstellung
GUISetState(@SW_SHOW)
; Fügt Tabs hinzu
_GUICtrlTab_InsertItem($idTab, 0, "Tab 0")
_GUICtrlTab_InsertItem($idTab, 1, "Tab 1")
_GUICtrlTab_InsertItem($idTab, 2, "Tab 2")
; Ermittelt das Rechteck
Local $tRECT = _GUICtrlTab_GetDisplayRectEx(GUICtrlGetHandle($idTab))
Local $sRect = StringFormat("[%d, %d, %d, %d]", DllStructGetData($tRECT, "Left"), _
DllStructGetData($tRECT, "Top"), _
DllStructGetData($tRECT, "Right"), _
DllStructGetData($tRECT, "Bottom"))
_MemoMsgBox($MB_SYSTEMMODAL, "Information", "Rechteck: " & $sRect)
_MemoMsgBoxStatus("", -1, $hGUI) ; Keine weiteren Aktionen, es wird gewartet bis die GUI geschlossen wird.
EndFunc ;==>Example
#include "Extras\HelpFileInternals.au3" #include <GuiTab.au3> #include <MsgBoxConstants.au3> Example() Func Example() Local $sFromTo Local $hWin = _MemoRunAU3OutProcess($sFromTo, True) ; OK also if running in different mode Local $hTabCtrl = _MemoCreateOutProcess($hWin, "SysTabControl32", 1, $sFromTo) Local $tRECT = _GUICtrlTab_GetDisplayRectEx($hTabCtrl) Local $sRect = StringFormat("[%d, %d, %d, %d]", DllStructGetData($tRECT, "Left"), _ DllStructGetData($tRECT, "Top"), _ DllStructGetData($tRECT, "Right"), _ DllStructGetData($tRECT, "Bottom")) _MemoMsgBox($MB_SYSTEMMODAL, "Info" & $sFromTo, "Display rectangle: " & $sRect) _MemoMsgBoxStatus("", -1, $hWin) ; no more action, wait GUI for closing, close also OutProcess GUI EndFunc ;==>Example