3 MDI Buttons selbst einbauen

Thopeto

Erfahrenes Mitglied
Hallo

In einer MDI Anwendung gibt es doch die 3 Buttons für die CHildframes: Minimieren, MAximieren und Schließen

Diese befehle hätte ich gern, da ich die buttons in meine TabBar einbauen möchte.
Wie mache ich das am besten?!

gruß
Thorsten
 
Mit DrawFrameControl. Die Flags für die einzelnen Buttons sind dann DFCS_CAPTIONMIN, DFCS_CAPTIONRESTORE/DFCS_CAPTIONMAX und DFCS_CAPTIONCLOSE.
 
das problem ist dann aber, das der mir dann schon fertig gezeichnete Buttons liefert. aber ich habe schon selber schon buttons gezeichnet und möchte die auch verwenden
 
Wenn das nicht gerade in der NC (non client) - Area ist, kannst du doch einfach Bitmap-Buttons verwenden. Wenn doch in der NC-Area (z.Bsp. Caption), dann verweise ich auf eine ziemlich interessante Seite: http://www.catch22.net/tuts/titlebar.asp

Wenn du die tatsächliche Funktion der Buttons meinst:

minieren = ShowWindow( SW_MINIMIZE );
maximieren = ShowWindow( SW_MAXIMIZE );
wiederherstellen = ShowWindow( SW_RESTORE );
X = CloseWindow();
 
Zuletzt bearbeitet:
Danke schon mal! hat mir sehr geholfen. Alle befehle auch, bis auf einer
Code:
 if(closerect.PtInRect(point))
 	{
 		GetParent()->CloseWindow();
 	}

der minimiert das child fenster nur, aber schließt es nicht...walum?!

gruß
Thorsten
 
Den musst du als Nachricht schicken :

Code:
parent->SendMessage(WM_CLOSE,0,0);

Und ich danke Endurion für das Tutorial - hab sowas auch schonmal gesucht aber nie gefunden - das sieht äusserts interessant aus. ^________________^

M.f.G. Erik
 
Zuletzt bearbeitet:
DAnn solltest du prüfen ob GetParent() ungleich NULL ist - aber das behebt nur die Symptome.
Sonst wüsst ich jetzt auch nicht weiter ^__^°
Vielleicht statt SendMessage(...) PostMessage(...)

M.f.G. Erik
 
mit GetParent()->DestroyWindow() klappt das, kommt aber ein fehler der auf diese Funktion zeigt:
Code:
LRESULT CWnd::Default()
 {
 	// call DefWindowProc with the last message
 	_AFX_THREAD_STATE* pThreadState = _afxThreadState.GetData();
 	return DefWindowProc(pThreadState->m_lastSentMsg.message,
 		pThreadState->m_lastSentMsg.wParam, pThreadState->m_lastSentMsg.lParam);
 }

walum?!
 
Zurück