Seite 1 von 1

Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 12:48 pm
von Xin
Aktuell darf ich mich ausführlich mit der Windows-API beschäftigen und vielleicht kann mir jemand bei folgendem Problem weiterhelfen:

Ich muss mit Hilfe der Win32 API das kleine X-Symbol zum Schließen von Dokumenten rechts in der Menüleiste unterbringen.
Gibt es da einen Trick für?

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 3:49 pm
von cloidnerux
Du mienst oben rechts das Symbol?
Dafür gibt es entweder eine Eigenshaft in der hwnd Strukur oder im CreateWIndoeEx aufruf.
Ich hatte bisher immer ein Rotes kreuz, desshalb weiß ich nicht was bei dir nicht ist.
Hier sind Initialisierungen von Winapi Programmen von mir, mit Rotem Kreuz:

Code: Alles auswählen

wcx.cbSize          = sizeof( wcx); 
	wcx.lpszClassName	= "Balance";
	wcx.lpfnWndProc	    = balance_windowhandler;
	wcx.style			= CS_VREDRAW | CS_HREDRAW;
	wcx.hInstance		= hInst;
	wcx.hIcon			= LoadIcon(hInst, MAKEINTRESOURCE( IDI_BALANCE));
	wcx.hIconSm		    = LoadIcon(hInst, MAKEINTRESOURCE( IDI_BALANCE));
	wcx.hCursor		    = LoadCursor(NULL, IDC_ARROW);
	wcx.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
	wcx.lpszMenuName	= MAKEINTRESOURCE( IDR_MENU);
	wcx.cbClsExtra		= 0;
	wcx.cbWndExtra		= 0;

Code: Alles auswählen

testwindow = CreateWindowEx(0, 
						       TEXT( "Test"), 
						       TEXT( "Test"), 
						       WS_OVERLAPPEDWINDOW, 
		                                       CW_USEDEFAULT, 
						       0, 
						       CW_USEDEFAULT, 
						       0, 
						      NULL, NULL, hInst, NULL);
Ich hoffe das hilft weiter.

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 5:58 pm
von Xin
cloidnerux hat geschrieben:Du mienst oben rechts das Symbol?
Dafür gibt es entweder eine Eigenshaft in der hwnd Strukur oder im CreateWIndoeEx aufruf.
Ich hatte bisher immer ein Rotes kreuz, desshalb weiß ich nicht was bei dir nicht ist.
Hier sind Initialisierungen von Winapi Programmen von mir, mit Rotem Kreuz:
Ich meine nicht das Schließen-Symbol in der Titelleiste, ich meine ein Schließen-Symbol rechts in der Menüleiste (Datei, Bearbeiten, Ansicht, blablabla...), um ein Dokument (nicht das Fenster) zu schließen.

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 6:13 pm
von cloidnerux
Ich meine nicht das Schließen-Symbol in der Titelleiste, ich meine ein Schließen-Symbol rechts in der Menüleiste (Datei, Bearbeiten, Ansicht, blablabla...), um ein Dokument (nicht das Fenster) zu schließen.
Diese Symbol ist kein Standart, sondern ist meines Wissens nach nur ein Button mit einem "x" drinn, der rechts in der Leiste platziert ist.

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 7:25 pm
von Xin
cloidnerux hat geschrieben:
Ich meine nicht das Schließen-Symbol in der Titelleiste, ich meine ein Schließen-Symbol rechts in der Menüleiste (Datei, Bearbeiten, Ansicht, blablabla...), um ein Dokument (nicht das Fenster) zu schließen.
Diese Symbol ist kein Standart, sondern ist meines Wissens nach nur ein Button mit einem "x" drinn, der rechts in der Leiste platziert ist.
Ich gehe davon aus, dass das kein Standard ist, aber ich will das Ding trotzdem da haben. Und meine Frage ist nun: Wie?

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 8:02 pm
von cloidnerux
meine Frage ist nun: Wie?
Entweder du platzierst ein Leeres Label mit Fester Breit vor den Button, sodass dieser am rechten Rand ist, oder du setzt die X-position auf Width - ButtonBreite.
Eine andere möglichkeit wäre mir jezt nicht bekannt.

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Do Sep 10, 2009 9:07 pm
von Kerli
Xin hat geschrieben:Ich muss mit Hilfe der Win32 API das kleine X-Symbol zum Schließen von Dokumenten rechts in der Menüleiste unterbringen.
Meinst du vielleicht so etwas? Das nennt sich dann MDI (multiple document interface) und da sollte die Buttons zum Schließen eigentlich schon dabei sein...

Re: Wie ein X-Symbol in die Menüleiste bringen?

Verfasst: Fr Sep 11, 2009 8:56 am
von Xin
Kerli hat geschrieben:
Xin hat geschrieben:Ich muss mit Hilfe der Win32 API das kleine X-Symbol zum Schließen von Dokumenten rechts in der Menüleiste unterbringen.
Meinst du vielleicht so etwas? Das nennt sich dann MDI (multiple document interface) und da sollte die Buttons zum Schließen eigentlich schon dabei sein...
Sind sie auch.

Was ich bisher mitbekommen habe - ich programmiere seit 2 Wochen WinAPI... - ist das aber ein Aufsatz über MFC, da ich aber nur WinAPI ohne MFC habe, muss ich rausfinden, wie die MFC das macht und davon habe ich leider nicht die Quelltexte.

Ich habe quasi eine MDI Anwendung, ohne Fenster. Im aktuellen Fenster wird das derzeit aktive Dokument gezeichnet. Das ist alles von Hand programmiert (teilweise inkl. der Fenster und Widgets (!)). Die Anwendung stammt aus einer Zeit, als Windows noch nicht Stand der Technik und schonmal gar kein Stand, sondern bestenfalls ein Dauerabsturz war und damit ist nicht Win95 oder Win3.x gemeint, sondern die Software ist noch älter...

Mal eben MDI dazwischenbauen geht also nicht...