Funktionreferenz


_WinAPI_CreateWindowEx

Beschreibung anzeigen in

Erstellt ein überlappendes, Pop-up oder ein Child-Fenster

#include <WinAPISysWin.au3>
_WinAPI_CreateWindowEx ( $iExStyle, $sClass, $sName, $iStyle, $iX, $iY, $iWidth, $iHeight, $hParent [, $hMenu = 0 [, $hInstance = 0 [, $pParam = 0]]] )

Parameter

$iExStyle erweiterter Fensterstil
$sClass registrierter Klassenname
$sName Fenstername
$iStyle Fensterstil
$iX Horizontale Position des Fensters
$iY Vertikale Position des Fensters
$iWidth Fensterbreite
$iHeight Fensterhöhe
$hParent Handle zum Parent- oder Eigner-Fenster
$hMenu [optional] Handle zum Menü oder Child-Fenster ID
$hInstance [optional] Handle zur Instanz der Anwendung
$pParam [optional] Zeiger auf die Erstellungsdaten des Fensters

Rückgabewert

Erfolg: Das Handle zu dem neuen Fenster
Fehler: 0. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten

Verwandte Funktionen

_WinAPI_DestroyWindow

Siehe auch

Suche nach CreateWindowEx in der MSDN Bibliothek.

Beispiel

;==============================================================================
;    _WinAPI_CreateWindowEx.au3
;==============================================================================
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>

Opt("MustDeclareVars", 1)

Global Const $IDC_STATIC = -1, $IDC_EDIT = 101

Global $hInstance

;==============================================================================
Exit Example()
;==============================================================================

Func Example()
    Local $hWndMain, $hWndEdit, $hWndStatic, $hWndButton

    $hInstance = _WinAPI_GetModuleHandle(0)

    ; Das Hauptfenster erzeugen
    $hWndMain = GUICreate( _
            "_WinAPI_CreateWindowEx - Demo", _                  ; Titel des Fensters
            400, 300, -1, -1, _                                 ; Größe und Position des Fensters
            BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPCHILDREN), _    ; Fensterstile
                $WS_EX_WINDOWEDGE, _                            ; Erweiterte Fensterstile
            0)                                                  ; Handle des Parent-Fensters

    ; Eine einfaches Eingabefeld erzeugen
    $hWndEdit = _WinAPI_CreateWindowEx( _
            0, _                                                ; Erweiterte Fensterstile
            "EDIT", _                                           ; Name der Fensterklasse
            "ENTER drücken...", _                              ; Text/Titel des Fensters
            BitOR($WS_TABSTOP, $WS_CHILD, $WS_BORDER, _         ; Fensterstile
                $WS_VISIBLE, $ES_LEFT, $ES_NOHIDESEL), _
            100, 80, 200, 22, _                                 ; Position und Größe des Fensters
            $hWndMain, _                                        ; Handle des Parent-Fensters
            $IDC_EDIT, _                                        ; Identifizierer des (Kind-)Fensters
            $hInstance, _                                       ; Instanzhandle des Moduls
            0)                                                  ; Anwendungsdefinierter Wert


    ; Eine einfaches Textlabel erzeugen
    $hWndStatic = _WinAPI_CreateWindowEx( _
            0, _                                                ; Erweiterte Fensterstile
            "STATIC", _                                         ; Name der Fensterklasse
            "Text", _                                           ; Text/Titel des Fensters
            BitOR($WS_TABSTOP, $WS_CHILD, $WS_VISIBLE, _        ; Fensterstile
                $SS_CENTER), _
            160, 140, 80, 18, _                                 ; Position und Größe des Fensters
            $hWndMain, _                                        ; Handle des Parent-Fensters
            $IDC_STATIC, _                                      ; Identifizierer des (Kind-)Fensters
            $hInstance, _                                       ; Instanzhandle des Moduls
            0)                                                  ; Anwendungsdefinierter Wert

    ; Eine einfache Schaltfläche erzeugen
    $hWndButton = _WinAPI_CreateWindowEx( _
            0, _                                                ; Erweiterte Fensterstile
            "BUTTON", _                                         ; Name der Fensterklasse
            "Text", _                                           ; Text/Titel des Fensters
            BitOR($WS_TABSTOP, $WS_VISIBLE, $WS_CHILD, _        ; Fensterstile
                $BS_DEFPUSHBUTTON), _
            160, 220, 80, 25, _                                 ; Position und Größe des Fensters
            $hWndMain, _                                        ; Handle des Parent-Fensters
            $IDOK, _                                            ; Identifizierer des (Kind-)Fensters
            $hInstance, _                                       ; Instanzhandle des Moduls
            0)                                                  ; Anwendungsdefinierter Wert

    ; Fensternachrichten registrieren
    GUIRegisterMsg($WM_COMMAND, "MyWM_COMMAND")

    ; Das Hauptfenster anzeigen
    _WinAPI_ShowWindow($hWndMain, @SW_SHOW)

    While True
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
        EndSwitch
    WEnd
EndFunc   ;==>Example

Func MyWM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg

    Local $sMessage

    Switch _WinAPI_LoWord($wParam)
        Case $IDC_EDIT
            ; Nachrichten des Eingabefeldes
            Switch _WinAPI_HiWord($wParam)
                Case $EN_UPDATE
                    ContinueCase
                Case $EN_CHANGE
                    ConsoleWrite(_WinAPI_GetWindowText($lParam) & @CRLF)
            EndSwitch
        Case $IDOK
            $sMessage = StringFormat("Die Schaltfläche mit der ID %d wurde gedrückt.", $IDOK)
            _WinAPI_MsgBox( _
                    BitOR($MB_OK, $MB_ICONASTERISK), _
                    "MyWM_COMMAND", _
                    $sMessage)
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc   ;==>MyWM_COMMAND

;================================ End of File =================================