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

Windowsspezifische Probleme, WinAPI, conio.h
Antworten
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

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

Beitrag von Xin » Do Sep 10, 2009 12:48 pm

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?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

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

Beitrag von cloidnerux » Do Sep 10, 2009 3:49 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

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

Beitrag von Xin » Do Sep 10, 2009 5:58 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

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

Beitrag von cloidnerux » Do Sep 10, 2009 6:13 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

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

Beitrag von Xin » Do Sep 10, 2009 7:25 pm

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?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

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

Beitrag von cloidnerux » Do Sep 10, 2009 8:02 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

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

Beitrag von Kerli » Do Sep 10, 2009 9:07 pm

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...
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

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

Beitrag von Xin » Fr Sep 11, 2009 8:56 am

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...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten