Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

[WinAPI] Steuerelemente

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 21.02.2008, 21:15    Titel: [WinAPI] Steuerelemente Antworten mit Zitat

Wieder mal ein WinAPI Problem durchgeknallt . 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 durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 21.02.2008, 21:23    Titel: Antworten mit Zitat

"WS_CHILDWINDOW" vergessen
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 21.02.2008, 21:30    Titel: Antworten mit Zitat

Danke lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 21.02.2008, 21:49    Titel: Antworten mit Zitat

Nur mal so nebenbei ... die Steuerelemente SIND Fenster, nur mit anderen eigenschaften.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 21.02.2008, 22:26    Titel: Antworten mit Zitat

Deswegen habe ich ja das "tatsächlich" betont zwinkern .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 22.02.2008, 00:25    Titel: Antworten mit Zitat

Zitat:
Leider waren die Steuerelemente tatsächlich Fenster durchgeknallt
Warum leider? Das macht die Sache wesentlich einfacher und flexibler. Wenn sie nicht wie Steuerelemente aussehen, liegt das am Anzeigestil (style).
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz