RebornX Geschrieben 10. Juli 2007 Teilen Geschrieben 10. Juli 2007 hi, also ich bin grade am Üben von WinApi, und habe schon jetzt ein paar Probleme mit meinem ersten WinApi Programm: Hier mein Source nopaste.com (beta) Also i-wie checkt er nicht ob AUTORADIOBUTTON und AUTOCHECKBOX ausgewählt wurde-.- Und ich weiß nicht mehr weiter... Kann mir da einer weiter helfen ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RebornX Geschrieben 10. Juli 2007 Autor Teilen Geschrieben 10. Juli 2007 OK, hat sich erledigt, habs hingekriegt nopaste.com (beta) Jetzt habe ich aber noch eine Frage: Ist das die besste Lösung um so eine Anwendung zu schreiben? Also sind da evtl ein paar "Speed-Stopper" dabei ? Hätte ich einige Stellen besser machen können ? Ach und wenn ich schon dabei bin Fragen zu schreiben, habe ich noch ein paar (Ich lerne ja schließlich noch). Was bedeutet: 1. ( HWND )lParam 2. LOWORD( wParam ) 3. HIWORD(wParam) Ich meine großgeschriebene Wörter sind in WinApi doch meistens typedefs, aber was sollen dann diese wParams in Klammern danach ?? Oder das HWND vor lParam ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 11. Juli 2007 Teilen Geschrieben 11. Juli 2007 Ach und wenn ich schon dabei bin Fragen zu schreiben, habe ich noch ein paar (Ich lerne ja schließlich noch). Was bedeutet: 1. ( HWND )lParam 2. LOWORD( wParam ) 3. HIWORD(wParam) Ich meine großgeschriebene Wörter sind in WinApi doch meistens typedefs, aber was sollen dann diese wParams in Klammern danach ?? Makro. LO(W) und HI(GH) liest den nieder- oder höherwertigen Teil eines WORDs. Oder das HWND vor lParam ?? Casting. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RebornX Geschrieben 11. Juli 2007 Autor Teilen Geschrieben 11. Juli 2007 Gut dann habe ich noch ne Frage: ich habe ja einmal in der WinMain das um das Fenster anzeigen zu lassen: // Fenster aqnzeigen lassen ShowWindow(hWnd, iCmdShow); UpdateWindow(hWnd); Aba in der Callback- Funktion habe ich ja auch noch das: case WM_CREATE: // Das Fenster wurde erstellt. break; Und das kann ich auch problemlos auskommentieren. I-wie finde ich das aber nicht so sinnvoll, was bringt mir den überhaupt dieses WM_CREATE ?? Also ich weiß das das auch i-was mit dem anzeigen des Fensters zu tun hat, nur was ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Juli 2007 Teilen Geschrieben 11. Juli 2007 Hallo, Zuerst ein Hinweis: Üblicherweise halten wir das hier so: Ein Thema -> ein Thread, ein Thread -> ein Thema. Wenn du also eine weitere Frage zu einem anderen Thema hast, mach bitte einen neuen Thread auf. I-wie finde ich das aber nicht so sinnvoll, was bringt mir den überhaupt dieses WM_CREATE ??In der Behandlung von WM_CREATE kannst du alles unterbringen, was passieren soll, bevor das Fenster sichtbar wird, z.B. die Erzeugung von Kindfenstern. Außerdem hast du hier noch die Möglichkeit, die Erzeugung abzubrechen, wenn irgendetwas schief geht. Wenn du als Antwort auf WM_CREATE -1 zurückgibst, schlägt der zugehörige CreateWindow(Ex)-Aufruf fehl. P.S.: Könntest du das mit diesem "I-" lassen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 11. Juli 2007 Teilen Geschrieben 11. Juli 2007 In der Behandlung von WM_CREATE kannst du alles unterbringen, was passieren soll, bevor das Fenster sichtbar wird, z.B. die Erzeugung von Kindfenstern. Wenn ich das richtig in Erinnerung habe, wird der Block doch auch aktiv, wenn das Fenster im Hintergrund/minimiert war und dann wieder aufgerufen wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 11. Juli 2007 Teilen Geschrieben 11. Juli 2007 Wenn ich das richtig in Erinnerung habe, wird der Block doch auch aktiv, wenn das Fenster im Hintergrund/minimiert war und dann wieder aufgerufen wird.Nein, WM_CREATE empfängt ein Fenster während seiner Lebenszeit nur einmal. Verwechselst du das vielleicht mit WM_ACTIVATE? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 11. Juli 2007 Teilen Geschrieben 11. Juli 2007 Nein, WM_CREATE empfängt ein Fenster während seiner Lebenszeit nur einmal. Verwechselst du das vielleicht mit WM_ACTIVATE? Ahh. Nein. Ich hab es mit WM_PAINT verwechselt. Sorry. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.