Funktionreferenz


_GUICtrlToolbar_HitTest

Beschreibung anzeigen in

Ermittelt, wo ein Punkt innerhalb des Controls liegt

#include <GuiToolBar.au3>
_GUICtrlToolbar_HitTest ( $hWnd, $iX, $iY )

Parameter

$hWnd Handle des Controls
$iX zu setzende X Position
$iY zu setzende Y Position

Rückgabewert

Erfolg: Falls der Wert 0 oder ein positiver Wert ist, ist es der 0-basierende Index des Item (außer Trennzeichen) in welchem der Punkt liegt.
Fehler: Falls der Wert negativ ist, liegt der Punkt nicht innerhalb eines Buttons

Bemerkungen

Der absolute Wert des Rückgabewertes ist der Index eines Trennitems oder dem nächsten Item, welches kein Trennitem ist.

- - - - - - - - Erklärung der Controls - - - - - - - -

Beispiel

#include <GUIConstantsEx.au3>
#include <GuiToolbar.au3>
#include <WinAPIConstants.au3>
#include <WindowsConstants.au3>

Global $g_idMemo

Example()

Func Example()
    ; Erstellt eine GUI
    Local $hGUI = GUICreate("Toolbar: HitTest (v" & @AutoItVersion & ")", 400, 300)
    Local $hToolbar = _GUICtrlToolbar_Create($hGUI)
    $g_idMemo = GUICtrlCreateEdit("", 2, 36, 396, 262, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 10, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Fügt die Standard Systembitmaps hinzu
    Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
        Case 0
            _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
        Case 2
            _GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
    EndSwitch

    ; Fügt Strings hinzu
    Local $aStrings[4]
    $aStrings[0] = _GUICtrlToolbar_AddString($hToolbar, "&Neu Button")
    $aStrings[1] = _GUICtrlToolbar_AddString($hToolbar, "&Öffnen Button")
    $aStrings[2] = _GUICtrlToolbar_AddString($hToolbar, "&Speichern Button")
    $aStrings[3] = _GUICtrlToolbar_AddString($hToolbar, "&Hilfe Button")

    ; Fügt die Buttons hinzu
    Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $idHelp
    _GUICtrlToolbar_AddButton($hToolbar, $e_idNew, $STD_FILENEW, $aStrings[0])
    _GUICtrlToolbar_AddButton($hToolbar, $e_idOpen, $STD_FILEOPEN, $aStrings[1])
    _GUICtrlToolbar_AddButton($hToolbar, $e_idSave, $STD_FILESAVE, $aStrings[2])
    _GUICtrlToolbar_AddButtonSep($hToolbar)
    _GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, $aStrings[3])

    ; Ermittelt, wo ein Punkt innerhalb des Controls liegt
    Local $aRect = _GUICtrlToolbar_GetButtonRect($hToolbar, $e_idSave)
    Local $iHit = _GUICtrlToolbar_HitTest($hToolbar, $aRect[0], $aRect[1])
    MemoWrite(StringFormat("Test bei %d, %d = %d", $aRect[0], $aRect[1], $iHit))

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite