|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
[Visual C++] Combo Box
salve ragazzi, ho un problema con la Combo Box di Visual C++, in pratica ho bisogno che ogni volta che seleziono un elemento del menù a tendina la variabile associata al menù (che ho scelto di tipo CString) assuma tale valore... Ho provato tutti gli eventi ma non funziona... Suggerimenti?? Grazie
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
Ti riporto il mio codice. Dovrebbe abilitare e disabilitare dei controlli a secondo dell'elemento di menù selezionato...e invece sembra che abiliti e disabiliti gli elementi a caso(per esempio quando seleziono "Arch" dovrebbe disabilitare tutti i controlli). m_combo è la variabile associata alla combo box ed è di tipo CString. I termini tra apici sono gli elementi del menù a tendina...Dove sta l'errore?
Codice:
void CIdentityDlg::OnSelchangeCombo()
{
// TODO: Add your control notification handler code here
//UpdateData(FALSE);
if(m_combo == "Arch")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT7)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE);
UpdateData(TRUE);
}
if (m_combo == "Left Loop")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
}
if (m_combo == "Right Loop")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
}
if (m_combo == "Whorl")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
}
if (m_combo == "Tended Arch")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT5)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
}
if (m_combo == "None")
{
GetDlgItem(IDC_EDIT1)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT4)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT6)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT7)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE);
}
UpdateData(TRUE);
}
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jul 2006
Città: Milano
Messaggi: 131
|
Ho risolto bastava mettere UpdateData(TRUE) prima degli if...invece che dopo...Grazie lo stesso. Ciao
__________________
"Due cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi..."(A. Einstein) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:59.












ho concluso con: kvegeta, doctordb, Leland Gaunt.








