Funktionreferenz


_WinAPI_DrawFrameControl

Beschreibung anzeigen in

Zeichnet ein Rahmen-Control mit dem angegebenen Typus und Stil

#include <WinAPIGdiDC.au3>
_WinAPI_DrawFrameControl ( $hDC, $tRECT, $iType, $iState )

Parameter

$hDC Handle zum Gerätekontext, in den der Rahmen gezeichnet wurde
$tRECT eine $tagRECT-Struktur oder ein Zeiger auf diese, welche die logischen Koordinaten des Rechtecks enthält
$iType Legt den Typ des zu zeichnenden Rahmens fest. Der Parameter kann einen der folgenden Werte annehmen:
    $DFC_BUTTON - Standard-Button
    $DFC_CAPTION - Titelleiste
    $DFC_MENU - Menüleiste
    $DFC_POPUPMENU - Popup-Menüeintrag
    $DFC_SCROLL - Scroll-Leiste
$iState Legt den Anfangszustand des Rahmen-Controls fest. Wenn $iType den Wert $DFC_BUTTON enthält, kann $iState einen der folgenden Werte annehmen:
    $DFCS_BUTTON3STATE - Three-State-Button
    $DFCS_BUTTONCHECK - Checkbox
    $DFCS_BUTTONPUSH - Pushbutton
    $DFCS_BUTTONRADIO - Radiobutton
    $DFCS_BUTTONRADIOIMAGE - Bild für Radiobutton (nichtrechteckige Buttons erfordern ein Bild)
    $DFCS_BUTTONRADIOMASK - Maske für Radiobutton (nichtrechteckige Buttons erfordern eine Maske)
Wenn $nType den Wert $DFC_CAPTION enthält, kann $nState einen der folgenden Werte annehmen:
    $DFCS_CAPTIONCLOSE - Schließen-Button
    $DFCS_CAPTIONHELP - Hilfe-Button
    $DFCS_CAPTIONMAX - Maximieren-Button
    $DFCS_CAPTIONMIN - Minimieren-Button
    $DFCS_CAPTIONRESTORE - Wiederherstellen-Button
Wenn $iType den Wert $DFC_MENU enthält, kann $nState eien der folgenden Werte annehmen:
    $DFCS_MENUARROW - Untermenü-Pfeil
    $DFCS_MENUARROWRIGHT - Untermenü-Pfeil (nach links zeigend). Wird für von rechts nach links kaskadierende Menüs benutzt, wenn Sprachen verwendet werden, in denen von rechts nach links geschrieben wird (z.B. Arabisch oder Hebräisch).
    $DFCS_MENUBULLET - Aufzählungspunkt
    $DFCS_MENUCHECK - Kontrollmarke
Wenn $iType den Wert $DFC_SCROLL enthält, kann $nState einen der folgenden Werte annehmen:
    $DFCS_SCROLLCOMBOBOX - Combobox-Scroll-Leiste
    $DFCS_SCROLLDOWN - Abwärts-Pfeil der Scroll-Leiste
    $DFCS_SCROLLLEFT - Links-Pfeil der Scroll-Leiste
    $DFCS_SCROLLRIGHT - Rechts-Pfeil der Scroll-Leiste
    $DFCS_SCROLLSIZEGRIP - Größenänderungsgriff des Fensters in der unteren rechten Ecke
    $DFCS_SCROLLSIZEGRIPRIGHT - Größenänderungsgriff des Fensters in der unteren linken Ecke. Wird für von rechts nach links zu lesende Sprachen verwendet (z.B. Arabisch oder Hebräisch).
    $DFCS_SCROLLUP - Aufwärts-Pfeil der Scroll-Leiste
Der folgende Stil kann verwendet werden, um das begrenzende Rechteck eines Pushbuttons festzulegen:
    $DFCS_ADJUSTRECT - Das begrenzende Rechteck wird so angepasst, das die umgebenden Kanten des Buttons ausgeschlossen werden
Einer oder mehrere der folgenden Werte können verwendet werden, um den Status des zu zeichnenden Controls festzulegen:
    $DFCS_CHECKED - Der Button ist markiert
    $DFCS_FLAT - Der Button hat einen flachen Rand
    $DFCS_HOT - Der Button ist ausgewählt
    $DFCS_INACTIVE - Der Button ist deaktiviert (ausgegraut)
    $DFCS_PUSHED - Der Button ist betätigt (gedrückt)
    $DFCS_TRANSPARENT - Der Hintergrund bleibt unbeeinflusst. Dieses Flag kann nur mit $DFCS_MENUARROWUP oder $DFCS_MENUARROWDOWN kombiniert werden.

Rückgabewert

Erfolg: True
Fehler: False

Bemerkungen

Oben genannte Konstanten benötigen #include <FrameConstants.au3>

Verwandte Funktionen

$tagRECT

Siehe auch

Suche nach DrawFrameControl in der MSDN Bibliothek.

Beispiel

#include <FrameConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>

Global $hGUI = GUICreate("_WinAPI_DrawFrameControl", 400, 300)

GUISetState(@SW_SHOW)

Example()

Func Example()
    Local $hDC = _WinAPI_GetWindowDC($hGUI)
    Local $tRect = DllStructCreate($tagRECT)
    ;     Local $ptrRect = DllStructGetPtr($tRect)

    _SetPosSize($tRect, 20, 45, 22, 22)
    _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_BUTTON, $DFCS_BUTTONCHECK + $DFCS_CHECKED)

    _SetPosSize($tRect, 50, 45, 22, 22)
    _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_BUTTON, $DFCS_BUTTONRADIO + $DFCS_CHECKED)

    _SetPosSize($tRect, 80, 40, 32, 32)
    _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_CAPTION, $DFCS_CAPTIONCLOSE)

    Local $aState[9] = [8, $DFCS_BUTTON3STATE, $DFCS_BUTTON3STATE + $DFCS_INACTIVE, $DFCS_BUTTONCHECK, $DFCS_BUTTONPUSH, $DFCS_BUTTONPUSH + $DFCS_FLAT, $DFCS_BUTTONRADIO, $DFCS_BUTTONRADIOIMAGE, $DFCS_BUTTONRADIOMASK]
    For $i = 1 To $aState[0]
        _SetPosSize($tRect, $i * 25, 100, 15, 15)
        _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_BUTTON, $aState[$i])
    Next

    Local $aState[6] = [5, $DFCS_CAPTIONCLOSE + $DFCS_HOT, $DFCS_CAPTIonhelp + $DFCS_PUSHED, $DFCS_CAPTIONMAX, $DFCS_CAPTIONMIN, $DFCS_CAPTIONRESTORE]
    For $i = 1 To $aState[0]
        _SetPosSize($tRect, $i * 25, 130, 22, 22)
        _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_CAPTION, $aState[$i])
    Next

    Local $aState[5] = [4, $DFCS_MENUARROW + $DFCS_TRANSPARENT, $DFCS_MENUARROWRIGHT, $DFCS_MENUBULLET, $DFCS_MENUCHECK]
    For $i = 1 To $aState[0]
        _SetPosSize($tRect, $i * 25, 160, 22, 22)
        _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_MENU, $aState[$i])
    Next

    Local $aState[5] = [4, $DFCS_MENUARROW + $DFCS_TRANSPARENT, $DFCS_MENUARROWRIGHT, $DFCS_MENUBULLET, $DFCS_MENUCHECK]
    For $i = 1 To $aState[0]
        _SetPosSize($tRect, $i * 25 + 120, 160, 22, 22)
        _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_POPUPMENU, $aState[$i])
    Next

    Local $aState[9] = [8, $DFCS_SCROLLCOMBOBOX, $DFCS_SCROLLDOWN, $DFCS_SCROLLLEFT, $DFCS_SCROLLRIGHT, $DFCS_SCROLLSIZEGRIP, $DFCS_SCROLLSIZEGRIPRIGHT, $DFCS_SCROLLUP, $DFCS_ADJUSTRECT]
    For $i = 1 To $aState[0]
        _SetPosSize($tRect, $i * 25, 190, 22, 22)
        _WinAPI_DrawFrameControl($hDC, $tRect, $DFC_SCROLL, $aState[$i])
    Next

    _WinAPI_ReleaseDC($hGUI, $hDC) ; Muss nach _WinAPI_GetWindowDC() oder _WinAPI_GetDC() aufgerufen werden.

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Hilfs-Funktion zum Setzen der Position und Größe des gezeichneten Controls.
Func _SetPosSize($tRect, $iLeft, $iTop, $iWidth, $iHeight)
    DllStructSetData($tRect, "Left", $iLeft)
    DllStructSetData($tRect, "Top", $iTop)
    DllStructSetData($tRect, "Right", $iLeft + $iWidth)
    DllStructSetData($tRect, "Bottom", $iTop + $iHeight)
EndFunc   ;==>_SetPosSize