Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Cmdichildwnd neu anordnen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.02.2004, 22:10 Uhr
~Netbound
Gast


hallo, ich hab eine normale mdi anwendung und man kann ja schon vonhause aus "fenster -> nebeneinander" die geöffneten fenster nebeneinander anordnen. im menu selber wird "ID_WINDOW_TILE_HORZ" losgeschickt.
Meine fragen ist jetzt, wie und wo rufe ich diese funktion an einer stelle meines programmes selber auf, ohne das man im menu etwas anklicken muss?


mfg netbound
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.02.2004, 10:35 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Das ChildFrame bietet sich dazu an. Die Funktion, welche die Fenster anordnet muss nur 2 Eigenschaften haben:
1. Funktion muss bei jedem Erstellen aufgerufen werden
2. GetSafeHwnd muss einen gültigen Wert liefern - d.h. das Fenster muss zu dieser Zeit existieren (WM_CREATE zb). Wenn du das Fenster einfach nur Minimieren/Maximieren willst, dann erfolgt dies in deiner App Klasse (InitInstance). Dort wird es per Flag angehängt.

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.02.2004, 18:31 Uhr
~Netbound
Gast


Was soll denn die funktion ausführen die bei jedem erstellen ausgeführt wird? und was meinst du mit "per flag anhängen" ? ich möchte die mdi fenster nebeneinander anordnen.



mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.02.2004, 23:06 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Mit Flag meinte ich DWORD dwFlags |= IRGENDWAS. Das ist für dich aber uninteressant, da dies nur den Effekt hätte, dass beim Erstellen eines Windows dieses Maximiert wird.
Mit folgenden Schritten müsste es funtzen:
1. ActivateFrame(int nCmdShow) in die Frame Klasse einfügen
2. Anzahl der Fenster berechnen (siehe CWnd Funktionen oder Callback EnumWindows)
3. verfügbare Fläche ermitteln GetWindowRect
4. mit SetWindowPlacement Größe anpassen

So sollte es imho funtzen

gn8
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: