Serialize
-
Hi Leute!
folgendes,ich hab eine MDI Anwendung, habe in CMainFrame folgendes stehenPreCreateWindow(CREATESTRUCT& cs) cs.style=WS_HSCROLL|WS_VSCROLL |WS_OVERLAPPEDWINDOW; if( !CMDIFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return TRUE;
in CChildFrame
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) { cs.style=WS_CHILD; cs.x=10; cs.y = 20; cs.cx = 800; cs.cy=1000; if( !CMDIChildWnd::PreCreateWindow(cs) ) return FALSE; return TRUE;
also kriege ich ckrollbare Hauptfenster, und ein unverschiebbare Unterfenster, nun möchte ich es dynamisch machen, also Benutzer sagt wie gross darf Unterfenster sein, und dann noch das ganze abspeichern, also wie gross ist das Fenster, mit ganzem kramm.
Wie mache ich es am besten?
-
Mit MoveWindow habe ich es früher in C gemacht. Damit kannst Du die Größe des Fensters verändern.
Tja, das Abspeichern und Lesen vor dem Erstellen war damals komplett Handarbeit.
-
Hast du vielleicht ein Beispiel oder so?
Ich kann damit überhaupt nicht anfangen...
Voraus danke...
-
Schau doch einfach in der MSDN nach MoveWindow nach, die Funktion ist wirklich nicht schwer zu Handhaben (Anagbe von StartX, StartY, Länge und Breite des Fensters)!
-
ja, das verstehe ich,ich weiß nur nicht wo ich diese Funktion aufrufen soll?
in OnFileNew() oder?...
-
Original erstellt von <Nick>:
ja, das verstehe ich,ich weiß nur nicht wo ich diese Funktion aufrufen soll?
in OnFileNew() oder?...MoveWindow kannst du von jeder beliebigen Stelle deines Programmes aufrufen (das Fenster muss nur existieren), ich weiss nicht wo dein Problem ist, vieleicht habe ich dich aber auch missverstanden
-
Also ich hab es in
CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style=WS_CHILD;cs.x=10;
cs.y = 20;
cs.cx = 600;
cs.cy=600;
MoveWindow(cs.x,cs.y,cs.cx,cs.cy,FALSE);
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;return TRUE;
}
kommt keine Fehler,aber ich muss 2 mal auf Ignor klicken,bevor ich es sehen kann.
-
Original erstellt von <Nick>:
**Also ich hab es in
CChildFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style=WS_CHILD;cs.x=10;
cs.y = 20;
cs.cx = 600;
cs.cy=600;
MoveWindow(cs.x,cs.y,cs.cx,cs.cy,FALSE);
if( !CMDIChildWnd::PreCreateWindow(cs) )
return FALSE;return TRUE;
}kommt keine Fehler,aber ich muss 2 mal auf Ignor klicken,bevor ich es sehen kann.**
Lass einfach dass MoveWindow weg, da dass sonst hier doppelt gemoppelt ist. Wenn du beim erstellen des Fensters schon die Koordinaten kennst, dann reicht das Setzen der cs Strucktur.
(Ich dachte du wolltest von deinem Hauptfenter aus, das Unterfenster zu einem beliebigen Zeitpunkt an eine spezielle Position bringen)
-
nö,ich wolte beim aufmachen der zweiter Fenster unter der erste positionieren.