tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
899
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kerian kerian ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Ort
    Holdorf
    Beiträge
    213
    Hallo,
    wie kann es hinbekommen ,das wenn ich den Dialog in der Größe ändere die
    View neu angepasst wird.
    Wenn ich in der Methode size() die OnInitDialog() Methode einfüge , funktioniert das ganze ncht

    Die View wird in dem Dialog mit diesem Code erzeugt!

    BOOL CGR2dialog::OnInitDialog()
    {
    CDialog::OnInitDialog();

    // TODO: Zusätzliche Initialisierung hier einfügen

    CCreateContext pContext;
    /**
    * Note:CDialig derived pointer is converted to
    * CWnd pointer (a common base class for CDialog and CFrameWnd).
    * Thus casting it back to CFrameWnd is also easy.
    */
    CWnd* pFrameWnd = this;

    //pContext.m_pCurrentDoc = new CGR2Doc;
    pContext.m_pNewViewClass = RUNTIME_CLASS(CGR2gr2view);
    CGR2gr2view *pView = (CGR2gr2view *) ((CFrameWnd*)pFrameWnd)->CreateView(&pContext);
    ASSERT(pView);
    pView->ShowWindow(SW_NORMAL);
    pView->OnInitialUpdate();

    /**
    * After a view is created, resize that to
    * have the same size as the dialog.
    */
    CRect rectWindow;
    //GetWindowRect(rectWindow);
    GetClientRect(rectWindow);
    /**
    * Leave a little space for border and title...
    */
    rectWindow.right += 0;
    rectWindow.top -= 0;
    pView->MoveWindow(rectWindow);

    //CString str(AfxGetApp()->m_lpCmdLine);
    return TRUE; // return TRUE unless you set the focus to a control
    // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben
    }
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Wenn ich in der Methode size() die OnInitDialog() Methode einfüge , funktioniert das ganze ncht
    Was genau funktioniert nicht?
     

  3. #3
    kerian kerian ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Ort
    Holdorf
    Beiträge
    213
    Die View wird im Dialog angezeigt, das funktioniert.
    Wenn ich die Eigenschaft des Dialoges (Größe ändern) aktiviere, kann ich die Größe des Dialoges mit der Maus ändern. Die View wird aber der neuen Größe des Dialoges nicht angepasst.
     

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Die Grösse musst du in OnSize() des Dialoges anpassen, wenn ich mich recht erinnere, nicht unbedingt in OnInitDialog(). OnSIze() (für WM_SIZE) wird beim Resizen aufgerufen. Hat aber einen Haken: Beim ersten Aufruf, wenn der Dialog erzeugt wird, sind die Controls noch nicht initialisiert. Da musst du aufpassen.
    Hoffe, das hilft - aber ohne Gewähr, da ich das seit einer Weile nicht mehr gemacht habe.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

Ähnliche Themen

  1. [Visual C++.NET 2003] MDI->neue View vom Dialog aus erstellen
    Von FlyingHuman im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 03.09.05, 10:03
  2. Eclipse View -> SWT Dialog
    Von fleury im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 23.03.05, 08:58
  3. View im Dialog
    Von kerian im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 24.11.04, 21:13
  4. Daten von der View-Klasse in eine Dialog-Klasse
    Von kukuruzku im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 07.10.04, 22:19
  5. VIew Dialog
    Von kerian im Forum VisualStudio & MFC
    Antworten: 5
    Letzter Beitrag: 06.09.04, 14:54