Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Dialoge

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
17.02.2003, 08:06 Uhr
~Michael
Gast


Hi,
ich schreibe derzeit eine Art Wizard für ein Projekt an der Uni. Dabei habe ich das Problem das ich einen Dialog in bzw. über einen anderen legen möchte.
Es soll so aussehen als wäre es ein Dialog und wenn man auf weiter drückt, dann soll nur der darüberliegende Dialog ausgetauscht und die Daten gesichert werden. Ich habe nicht soviel Erfahrung in MFC und wollte es deshalb auf einen sehr einfachen Weg (es gibt bestimmt bessere ) lösen


C++:
int CMainDlg::DoModal()
{
    // TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen
    m_dPreDialog.Create(IDD_DLG_PRE,this);
    WINDOWPLACEMENT wndPl;
    m_dPreDialog.GetWindowPlacement(&wndPl);
    wndPl.rcNormalPosition.top+=35;
    wndPl.rcNormalPosition.bottom+=35;
    wndPl.rcNormalPosition.left+=20;
    wndPl.rcNormalPosition.right+=20;
    m_dPreDialog.SetWindowPlacement(&wndPl);
    m_dPreDialog.ShowWindow(SW_SHOW);

    return CDialog::DoModal();
}


dabei ist m_dPreDialog der Dialog der über dem MainDlg liegen soll! Jedoch erscheint der immer hinter dem Hauptdialog! Ich habe mehreres versucht ( Resourcen/Eigenschaften mit "Im Fordergrund", SetFocus(),Show()) aber der Dialog bleibt immer im Hintergrund! Mir gehen langsam die Ideen aus! Wäre super wenn mir jemand Helfen könnte!

Dieser Post wurde am 17.02.2003 um 17:41 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.02.2003, 22:46 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Michael,
Mit DoModal hast du keinen Erfolg. Gehe wie folgt vor:
Dein erstellter Dlg erhält bei den Eigenschaften: keinen Rand, Stil untergeordnet, nebengeordnete ausschneiden, sichtbar.
In diesen Dlg legst Du ein Gruppenfeld, bei dem sichtbar deaktiviert wird. Jetzt kannst du Deine Steuerelement platzieren. Danach neue Klasse anlegen lassen, eine Instanz bilden und als nichtmodalen Dlg einbinden.
[cpp]
void TestDlg()::KlickWas()
{
m_dlg.Create(DEINE_ID);
m_dlg.ShowWindow(TRUE);
}
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.02.2003, 10:30 Uhr
~Michael
Gast


DANKE Uwe,
für deine Antwort! Leider kenne ich mich nicht mit nichtmodularen Dialogen aus! Hast du einen Link oder etwas ähnliches wo man sich informieren kann? Bei der MSDN komm ich da nicht weiter! Die sagen das man da nicht viel anders als bei modularen vorgeht! Also Dialog anlegen, Klasse anlegen und einbinden! Ja aber wie einbinden? Mit create(...)? Der Dialog soll ja von Anfang an sichtbar sein und nciht erst nach klicken eines Objektes! Wie in einem Wizard! Da sieht man alles am Anfang und klickt man auf weiter, so wird nur der obere Dialog ausgetauscht!

Michael
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.02.2003, 16:48 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Micha,
schick mir eine Mail mit Deiner. Bekommst dann ein Beispiel.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
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: