ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
479
479
EMPFEHLEN
-
05.04.06 10:08 #1
- Registriert seit
- Sep 2005
- Beiträge
- 4
Hallo,
habe folgende Probleme: Ich erstelle ein Kindfenster (Rahmen und Ansicht) in MainFrame (SDI).
1.) der Rahmen wird beim Klick in die Titelleiste nicht "blau" wie aktiviert, lässt sich aber verschieben?
2.) beim klick auf Minimieren verschwindet das Fenster auf nimmer wiedersehen, Maximieren geht aber?
Eigentlich müsste doch das Parent-Fenster (MainFrame) die Kontrolle haben? Muss ich vielleicht das Minimieren selber steuern?
Folgender Code erzeugt das Kindfenster:
void CMainFrame::BuildNewView()
{
CMyFrame * pChildFrame;
pChildFrame = new CMyFrame;
pChildFrame->LoadFrame(IDR_CHILD,
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE | WS_CHILD,
this,
NULL);
CRuntimeClass *pMyView = RUNTIME_CLASS(CMyView);
CCreateContext CActContext;
CActContext.m_pNewViewClass = pMyView;
CActContext.m_pCurrentDoc = NULL;
CActContext.m_pCurrentFrame = pChildFrame;
pChildFrame->m_pwndView = (CMyView*)(pChildFrame->CreateView(&context));
pChildFrame->InitialUpdateFrame(NULL,TRUE);
}Geändert von SabineenibaS (05.04.06 um 10:22 Uhr)
-
Hallo,
also bei einer SDI-Applikation gibt es keine Child-Frames und der View nimmt den gesamten Client-Bereich (ohne Titel und Rahmen) ein. Was du hier versuchst, ist das Verhalten einer MDI-Applikation innerhalb eines SDI-Frameworks nachzubauen. In dem Fall arbeitest du eigentlich gegen die MFC, was zu seltsamen Effekten führen kann (ohne dass ich jetzt die genaue Ursache für das Minimieren-Problem nennen könnte).
Wenn du eine SDI-Applikation haben willst, dann erzeuge nur den View ohne ein FrameWindow.
Falls du eines oder mehrere separate Fenster innerhalb des Hauptfensters haben willst, erzeuge lieber eine richtige MDI-Applikation.
Grüße
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
06.04.06 09:13 #3
- Registriert seit
- Sep 2005
- Beiträge
- 4
Hallo zusammen,
es ist etwas kompliziert zu erklären, was ich tun will, aber ich versuchs mal zu umschreiben: Also in der obersten Ansicht steht z.B. ein Haus. Dann kann man auf Teilbereich klicken, z.B. auf das Erdgeschoß. Ein KindFenster geht auf mit einem Grundriss vom Erdgeschoß. In diesem Kindfenster kann man wieder auf einen Teilbereich klicken, z.B. auf die Küche. Wieder geht ein Kindfenster auf mit dem Grundriss der Küche usw.
Da in der Hausansicht mehrere Teilbereich gleichzeitig ausgewählt werden können (also jeweils ein eigenes Fenster für z.B. Keller, Erdgeschoß, Dachboden) müssen die weiteren Detailfenster immer Kindfenster ihrer Eltern sein, weil sonst keiner mehr feststellen kann, ob die Küche im Keller oder im Dachboden ist.
Ich habe mit MDI noch nichts gemacht, aber ich habe das so verstanden, das die DocTemplates unabhängig voneinander sind und auch dort müsste ich ja zum reinzoomen ins Haus Kindfenster erstellen.
Das Programm wie es bisher steht funktioniert übrigens genau so, wie ich will, bis eben auf das Minimieren (hab den Button eben abgeklemmt, was aber ja nicht gerade die schönste Lösung ist) und das die Titelleiste beim Fokus nicht "blau" wird.
Wäre toll wenn jemand einen Tipp oder einen Link hätte.
Ähnliche Themen
-
Linie verschwindet beim minimieren
Von alex-test im Forum .NET Grafik und SoundAntworten: 1Letzter Beitrag: 22.11.07, 17:16 -
Drawing (Zeichnungsobjekt verschwindet nach minimieren der Form)
Von jimboo im Forum .NET Windows FormsAntworten: 17Letzter Beitrag: 30.05.07, 17:27 -
Outlook Fenster schließen sich beim minimieren
Von Bernd_Munich im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 24.11.06, 21:15 -
Festes Layout (auch beim minimieren)
Von Comenius im Forum CSSAntworten: 10Letzter Beitrag: 07.06.05, 19:41 -
Fenster beim Autostart von alleine MINIMIEREN
Von A5 Infoschlampe im Forum Microsoft WindowsAntworten: 2Letzter Beitrag: 20.06.02, 13:48





Zitieren
Login






