raph ael
 
 
  Anmeldungsdatum: 12.04.2006 Beiträge: 472
 
  | 
		
			
				 Verfasst am: 21.02.2008, 20: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   
 
  | 
			 
		  |