raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 21.02.2008, 21:15 Titel: [WinAPI] Steuerelemente |
|
|
Wieder mal ein WinAPI Problem . Diesmal gehts um Steuerelemente:
Code: | #Include "windows.bi"
Declare Function WinMain(hInstance As HINSTANCE, hpi As HINSTANCE,_
szCmdLine As String, hts As Integer) As Integer
End WinMain(GetModuleHandle(NULL), NULL, Command, SW_SHOW)
Function WndProc(hWnd As HWND, wMsg As UINT, wParam As WPARAM,_
lParam As LPARAM) As LRESULT
Select Case wMsg
Case WM_CREATE
Return 0
Case WM_DESTROY
PostQuitMessage(0)
Return 0
Case Else
Return DefWindowProc(hWnd, wMsg, wParam, lParam)
End Select
End Function
Function WinMain(hInstance As HINSTANCE, hpi As HINSTANCE, szCmdLine As String,_
hts As Integer) As Integer
Dim wMsg As MSG
Dim wCls As WNDCLASS
Dim hWnd As HWND
Dim label As HWND
Dim button As HWND
Dim textbox As HWND
With wCls
.style = CS_HREDRAW Or CS_VREDRAW
.lpfnWndProc = @WndProc
.cbClsExtra = 0
.cbWndExtra = 0
.hInstance = hInstance
.hIcon = LoadIcon(NULL, IDI_APPLICATION)
.hCursor = LoadCursor(NULL, IDC_ARROW)
.hbrBackground = GetStockObject(WHITE_BRUSH)
.lpszMenuName = NULL
.lpszClassName = @"Steuerelemente"
End With
If RegisterClass(@wCls) = FALSE Then
MessageBox(NULL, "Konnte Fenterklasse nicht registrieren", "Steuerelemente", MB_OK Or MB_ICONERROR)
Return 1
EndIf
hWnd = CreateWindowEx(0, @"Steuerelemente", "WinAPI: Steuerelemente", WS_OVERLAPPEDWINDOW,_
CW_USEDEFAULT, CW_USEDEFAULT, 320, 240, NULL, NULL, hInstance, NULL)
label = CreateWindowEx(0, @"STATIC", "Gib deinen Namen ein:", SS_CENTER, 0, 0, 120, 16,_
hWnd, NULL, hInstance, NULL)
textbox = CreateWindowEx(0, @"EDIT", "Max Mustermann", ES_CENTER, 130, 0, 120, 16,_
hWnd, NULL, hInstance, NULL)
button = CreateWindowEx(0, @"BUTTON", "OK", WS_OVERLAPPED, 140, 16, 60, 16, hWnd, NULL,_
hInstance, NULL)
ShowWindow(hWnd, SW_SHOW)
ShowWindow(label, SW_SHOW)
ShowWindow(textbox, SW_SHOW)
ShowWindow(button, SW_SHOW)
UpdateWindow(hwnd)
UpdateWindow(label)
UpdateWindow(textbox)
UpdateWindow(button)
While GetMessage(@wMsg, hWnd, 0, 0) <> FALSE
TranslateMessage(@wMsg)
DispatchMessage(@wMsg)
Wend
End Function |
Das sollte 1 Fenster und 3 Steuerelemente erstellen. Und genau das ist auch passiert. Leider waren die Steuerelemente tatsächlich Fenster
 |
|