hallo,
wie kann ich innerhalb einer dialogbasierenden anwendung einen weiteren dialog initialisieren? mittels der nachricht WM_INITDIALOG in der untergeordneten dialogklasse ist es nicht möglich die werte für die kontrollelemente zu initialisieren (der TRACE wird nie ausgeführt). stattdessen wird direkt die methode ausgeführt. an der rotmarkierten Stelle steigt das Programm dann aus, da es versucht einen leeren CString in ein INT zu transformieren.
was gibt es denn für möglichkeiten, anderweitig einen dialog innerhalb einer dialogbasierenden anwendung zu initialisieren?
gruß cappaja
wie kann ich innerhalb einer dialogbasierenden anwendung einen weiteren dialog initialisieren? mittels der nachricht WM_INITDIALOG in der untergeordneten dialogklasse ist es nicht möglich die werte für die kontrollelemente zu initialisieren (der TRACE wird nie ausgeführt). stattdessen wird direkt die methode ausgeführt. an der rotmarkierten Stelle steigt das Programm dann aus, da es versucht einen leeren CString in ein INT zu transformieren.
was gibt es denn für möglichkeiten, anderweitig einen dialog innerhalb einer dialogbasierenden anwendung zu initialisieren?
Code:
BOOL CDisplayControl::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Zusätzliche Initialisierung hier einfügen
m_ctrlDecim. SetRange(1, 40);
m_ctrlDecim. SetPos(1);
m_ctrlScale. SetRange(0, 50);
m_ctrlScale. SetPos(0);
m_ctrlOffset.SetRange(0, 100);
m_ctrlOffset.SetPos(0);
TRACE("\n\n#############################################\n\n");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben
}
void CDisplayControl::OnChangeDecimation()
{
CWiwoDlg* WinWout;
WinWout = NULL;
CString sDecim;
m_ctrlDecim.GetWindowText(sDecim);
int NewValue = atoi(sDecim);
if(NewValue > 40)
{
WinWout->pDP.d_dec = 40;
return;
}
if(NewValue < 1)
{
WinWout->pDP.d_dec = 1;
return;
}
WinWout->pDP.d_dec = NewValue;
}
gruß cappaja
Zuletzt bearbeitet: