hi, hab da mal wieder ien dummes anfängerproblem. habe eine funktion geschrieben die in meiner CProzIntApp.cpp 2 com ports abfragt und das ergebnis in 2 membervariablen einträgt. nun klickt man im menü auf optionen soll sich ein dialog öffnen. in diesem dialog sind optionsfelder welche beim start des dialoges automatisch ausgeblendet sein sollen wenn kein port da ist. also in der MainFrm.cpp eine funktion die onklick das dialogfeld erzeugt. in dieser funktion dann. if ( Dlg.DoModal() == IDOK ). klick man auf ok werden die einstellungen der optionsfelder gelesen und weggeschrieben. jetzt das problem : wo erkläre ich dem dialog das es die steuerelemente auszublenden hat. also erst die variable M_Com1 abfragen und wenn false steuerelement ausblenden.
wie mach ich das ? das sind ja verschiedene klassen.
Hi! Ganz versteh ich dein Problem leider nicht. Aber probier mal in dem Dialog, welcher sich neu öffnet eine WM_INITIALDIALOG Message einzufüggen. Dort schreibst du dann if(((MyParentDialog*)GetParend())->m_Com1) GetDlgItem(IDC_OPTION)->ShowWindow(SW_SHOW); else GetDlgItem(IDC_OPTION)->ShowWindow(SW_HIDE);
das könnte klappen. werds versuchen. habe es im konstruktor der klasse probiert. geht net. ???? melde mich wieder............to be continued...... -- gruesse rene
Hi! Wenn du mit dem Klassenassi Membervariablen auf das Edit anlegst, kannst du vor DoModal auch m_dlg.m_str = "bla" schreiben. Nur geht das Ganze mit SetWindowText nicht, da das Edit ja noch nicht erzeugt wurde.
hi mike, scheinsrt da was zu verwechseln hier gehts um nen dialog ohne edit, aber mit viel option buttons. geht aber scho )) und morgen gehts ans editview.
Ähm Ja stimmt Aber es gilt hier auch das Gleiche: Solange der Dialog nicht angezeigt wird, kannst du ShowWindow nicht anwenden. Also ich finde, dass WM_INITIALDIALOG dafür am Besten geeignet ist.