Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Dialog initialisieren

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
12.01.2007, 18:45 Uhr
Lumina



Hallo, vielleicht ist das ja eine einfache Frage, weil das noch keiner gefragt hat, aber ich krieg das einfach nicht alleine hin. Hab einen Dialog, den ich modal anzeigen lasse, wenn im Hauptdialog ein Button geklickt wird. Die Elemente dieses modalen Dialogs (SusanAlgo) will ich nun irgendwie initialisieren, dass also beim ersten Anzeigen schon Werte in den Textfeldern und ComboBoxen und RadioButtons stehen bzw. selektiert sind.

Ausschnitt aus Headerfile (SusanAlgo.h):

C++:
class SusanAlgo : public CDialog
{
    DECLARE_DYNAMIC(SusanAlgo)

public:
    SusanAlgo(CWnd* pParent = NULL);
    void Init(Ipp8u*, int, Ipp8u*, int, int, int);
    Ipp8u* getDestImg();
    virtual ~SusanAlgo();

// Dialogfelddaten
    //{{AFX_DATA(SusanAlgo)
    enum { IDD = IDD_PARAMS };
    CStatic    m_InputFileName;
    CStatic    m_OutputFileName;
    CStatic m_txt_brightness;
    CComboBox m_cmbOrgImg;
    CButton m_mask3x3;
    CComboBox m_postProc;
    CButton m_radDrawMode_0;
    //}}AFX_DATA
//...



Ausschnitt aus SusanAlgo.cpp:

C++:
//********************************************
void SusanAlgo::DoDataExchange(CDataExchange* pDX) {
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(SusanAlgo)
    DDX_Control(pDX, IDC_inImgPath, m_InputFileName);
    DDX_Control(pDX, IDC_outImgPath, m_OutputFileName);
    DDX_Control(pDX, IDC_txt_t, m_txt_brightness);
    DDX_Control(pDX, IDC_cmbOrgImg, m_cmbOrgImg);
    DDX_Control(pDX, IDC_mask3x3, m_mask3x3);
    DDX_Control(pDX, IDC_cmbPostProc, m_postProc);
    DDX_Control(pDX, IDC_DRAWMODE_0, m_radDrawMode_0);
    //}}AFX_DATA_MAP
}

SusanAlgo::SusanAlgo(CWnd* pParent)
    : CDialog(SusanAlgo::IDD, pParent) {
    //{{AFX_DATA_INIT(SusanAlgo)
    m_txt_brightness.SetWindowText("10");
    m_cmbOrgImg.SetCurSel(1); // auf "Nein" setzen
    m_mask3x3.SetCheck(1);
    m_postProc.SetCurSel(1);
    m_radDrawMode_0.SetCheck(1);
    //}}AFX_DATA_INIT
}



Auf jeden Fall krieg ich da viele Debug Assertions in winocc....

Was mach ich falsch?!
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************

Dieser Post wurde am 12.01.2007 um 18:46 Uhr von Lumina editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.01.2007, 18:56 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi,
im Konstruktor von SusanAlgo existieren die Steuerelemente noch nicht -> OnInitDialog benutzen.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.01.2007, 19:55 Uhr
Lumina



Hi, danke für das Stichwort, werd ich mal in der MSDN dazu suchen - bin totaler Anfänger, zumindest was MFC betrifft ...

Frage mich jetzt nur noch, warum das im Hauptdialog dann funktioniert:

Ausschnitt aus CIpp_Bitmap_testDlg.cpp:

C++:
CIpp_Bitmap_testDlg::CIpp_Bitmap_testDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CIpp_Bitmap_testDlg::IDD, pParent) {
    //{{AFX_DATA_INIT(CIpp_Bitmap_testDlg)
    //}}AFX_DATA_INIT
    // Beachten Sie, dass LoadIcon unter Win32 keinen nachfolgenden DestroyIcon-Aufruf benötigt
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

    m_FileNames = NULL;
}


--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.01.2007, 23:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Naja, AfxGetApp ist ja gültig, und für LoadIcon ist kein Fenster notwendig, das läd er ja nur in den Speicher und liefert dir ein Handle dazu.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.01.2007, 15:31 Uhr
Lumina



Achso. Danke für die nette Beratung, hab alles hinbekommen, was ich wollte.
Das ist echt ein klasse Forum hier! LG Sonja
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
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: