Dialogformulare völlig unsichtbar
-
Ich glaube, ich weiß, warum
Ein ziemlicher doofer Fehler, kann aber schnell passieren! Und zwar wird aus deinem Context-Menü raus der Dialog gestartet. Die "DialogBox"-Funktion kehrt aber erst zurück, nachdem der Dialog geschlossen ist. Also, wer immer die Context-Message an dich schickt, bekommt die Kontrolle nicht zurück. Das solltest du ändern...
Könntest z.B. die Dialoge mit "CreateDialog" erstellen. Diese Funktion startet keinen Message-Loop. Musst du halt mit "DestroyWindow" und nicht mit EndDialog zumachen. Ach, und natürlich brauchst du deine eigene Nachrichtenschleife
-
CodeFinder schrieb:
Ähm... was ist denn...: 'UNREFERENCED_PARAMETER(lParam);' ?
Erledigt.(Zum unterdrücken von Compiler-Warnungen)
-
Hmm, ich hab das einmal getestet, aber eigendlich hat es schon funktioniert gehabt, zum zweiten kann ich, nachdem ich den Dialog gestartet hab, noch wunderbar das Programm in der Taskleiste schließen (durch Kontext Close).
Und wi ich gesehen habe, funktioniert das auch bei CreateDialog noch mit einer Callback.
Jedenfalls bekomme ich damit gleich noch einen viel Größeren bug, das Fenster wird garnicht angezeit ich sehe dann bspw im Desktop nur ein Loch mit der Größe des Fensters, wie man das eben kennt...Simon
-
Das macht das Ganze ja noch ne Ecke mysteriöser...
Wie wärs, wenn du deinen Code mal auf das nötigste reduzierst und postest?
-
@CLRS530: Hast du meine Tipps auch mal versucht ?
-
Hmm, schwer wenn man nicht zurückkommt...
Mit dem Close usw bringt das ja nichts und das ist so wie Microsoft das Standartmäßig für die Aboutbox generiert.Ich werde einmal ein neues Projekt mit den geringsten Sachen versuchen, ja.
-
CodeFinder schrieb:
PS: Kontrollier mal den Return-Wert von DialogBox...
Fuchs!!
Er gibt in der Dialog-Callback immer TRUE zurück. Dann werden die Nachrichten nicht weiter bearbeitet. Sowas aber auch...INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { ... return (INT_PTR)FALSE; }
-
Badestrand schrieb:
CodeFinder schrieb:
PS: Kontrollier mal den Return-Wert von DialogBox...
Fuchs!!
Er gibt in der Dialog-Callback immer TRUE zurück. Dann werden die Nachrichten nicht weiter bearbeitet. Sowas aber auch...
[/cpp]lol, jo das wars...wie immer ne Kleinigkeit :p ...
Was willste denn mit dem 'Fuchs!!' ausdrücken ? ... ?
-
Nix böses... Fuchs soviel wie "Schlaufuchs" oder so... Bin immerhin durch dich drauf gekommen

-
lol nein da seid ihr ganz schön auf der falschen Fährte...

Vielleicht vorher ein wenig besser Informieren, bevor man seine Aussagen so macht.
Erstens sagte ich, dass dieser Handler von Microsoft generiert wird, zweitens gibt das beim ersten Aufruf sofort True zurück...Mal davon ab ist das ganze garnicht die Frage, das Problem ist ja, dass das Fenster falsch dargestellt wird.
Ich habe jetzt anbgefangen das Programm anfänglich nachzubauen.
Bis jetzt wird es korrekt dargestellt und das TaskbarIcon ist jetzt da, allerdings ohne Icon
Ich werde da morgen weitermachen.
-
...
Dann sag aber Bescheid, woran es lag.-'-.
-
So, ich habs jetzt quasy nochmal nachgebaut und es funktioniert (mit DialogBox) ich kann euch aber nicht sagen woran es lag/ liegt...

Die Ressourcen hab ich alle noch einmal neu erstellt