[C++ WINAPI] Dialog "unsichtbar" -Hilfe?!

radazong

Mitglied
Hallo community!
Ich habe ein ganz seltsames Problem, undzwar versuche ich mich gerade an Dialogen. Habe jetzt auch einen in meiner .rc definiert :

C++:
ADDENTRY DIALOG DISCARDABLE 100,100,200,200
CAPTION "Eintrag erstellen / bearbeiten"
STYLE DS_MODALFRAME|WS_POPUP
FONT 8,"MS Sans Serif"
BEGIN
	DEFPUSHBUTTON "OK",IDOK,10,5,50,10
	PUSHBUTTON "Abbrechen",IDCANCEL,10,15,50,10
END

und hier meine CALLBACK Funktion:

C++:
BOOL CALLBACK DlgProc(HWND hDlg, UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
	case WM_INITDIALOG: 
	return FALSE;

	case WM_COMMAND: switch(LOWORD(wParam))
					 {
						case IDOK:
						case IDCANCEL: EndDialog(hDlg,0);
							return TRUE;

					  }
	break;

	return FALSE;
	}
}

Nur, wenn ich diesen jetzt per DialogBox erscheinen lassen will, sehe ich nur die Buttons "in der Luft schweben". Ich habe bisher null Erfahrung in Sachen Dialoge, daher mein Hilferuf an euch - was mach ich falsch?

Greetz,

RadaZonG
 
Zuletzt bearbeitet von einem Moderator:
Hallo!
Naja, ganz so einfach ists nicht - denn ich habe die 2 Buttons ja nur provisorisch eingefügt zum testen - natürlich wird der Dialog noch viel umfangreicher. Und selbst wenn mein Problem mit MessageBox gelöst wäre, würde mich trotzdem interessieren, was genau ich falsch mache - oder ob ich einfach zu doof bin^^.

Greetz,

RadaZonG
 
Hallo!
Ich pushe dieses Thema ein letztes Mal, da ich noch immer nicht die leiseste Ahnung habe, wo mein Fehler liegen könnte. Also, wenn mir jemand bei der Lösung meines Problems behilflich sein könnte,wäre ich sehr dankbar.

Greetz,

RadaZonG
 
hi

ich kenn mich da nicht ganz so gut aus, aber in kann es sein das irgenwo ein WS_VISIBLE eigefügt werden (z.b. bei STYLE) muss, zumindest bei CreateWindow muss eins rein, sonst sieht man nichts

ich weis nicht ob das hilft
 
Hallo!
Vielen Dank auf jeden Fall für deine Antwort, aber ich habe WS_VISIBLE auch schon als Style-Option eingefügt. Und die Buttons des Dialogs kann ich ja schließlich auch sehen. Habe auch mal mit dem Dialogeditor von Visual Studio eine .rc erzeugt, und diese dann statt meiner eingebunden - aber auch hier, wieder nur Steuerelemente sichtbar, und vom Dialog selbst 'nüscht' zu sehen.
Naja, das Problem besteht jedenfalls weiterhin.
Falls es noch jemanden interessiert, ich versuche einen modalen Dialog zu erzeugen, und arbeite mit Visual Studio.

Greetz,

RadAZonG
 
Hallo!
Dies ist der Aufruf von DialogBox. Das ist die einzige Reaktion auf eine Menuauswahl.
C++:
DialogBox(OwnInst,L"AddEntry",hWnd,DlgProc);
Ich verstehe einfach nicht, warum zwar die Buttons dargestellt werden, ich den Hintergrund und die Titelleiste des Dialogs aber nicht angezeigt bekomme.
Ist doch "zum Mäuse melken".

Greetz,

RaDaZonG
 
Zuletzt bearbeitet von einem Moderator:
Hallo!
Joh, dankeschön - aber ob ich nun die Funktion aus dem lokalen, oder scheinbar auch existierendem globalen Bereich aufrufe,bekomme ich das selbe Ergebnis.
"OwnInst" ist bei mir eine globale Kopie von hInstance. In dem Besipiel zum Erzeugen von modalen Dialogen wird ja auch mit der Funktions-Version ohne Bereichs-Operator gearbeitet.

Die Buttons bekomme ich ja schließlich auch zu sehen, ebenso wie statische Textfelder. Nur das Dialogfenster selber in dem sie erscheinen sollten ist scheinbar unsichtbar. habe auch als STYLE - Option schon testweise WS_VISIBLE verwendet, falls das nun jemand denkt. Also kann der grundlegende Aufruf von DialogBox ja nicht verkehrt sein. Der Dialog reagiert ja auch entsprechend auf ButtonKlicks.
Sch**ß, verk***te Dialoge - erzeuge mir bald echt entsprechende Fenster von Hand :mad: !!

Hoffe jemand kann mir noch den entscheidenden Hinweis geben,

LG...
 
Zurück