PDA

View Full Version : vc6 c++


okay
22-02-2004, 20:47
ho una combo box:

quando avvio la finestra nella combo non è evidenziato nulla, solo se scelgo un elemento esso risulta visualizzato.
Vorrei sapere come si può visulizzare l'elemento numero 0 della lista quando si crea la combo box

grazie

cionci
23-02-2004, 01:36
Nel OnInitDialog del dialogo:

m_Combo.SetCurSel(0);

m_Combo è una variabile di tipo CComboBox assoociata tramite il class wizard alla combo box...

okay
25-02-2004, 10:59
ok........
ora mi visualizza la voce ed è anche selezionata con...
SendDlgItemMessage(hWnd, IDC_COMBO1, CB_SETCURSEL, 0, (LPARAM)"Windowed mode");
...........

quello che vorrei fare è togliere la selezione in blu
come devo fare?
)

cionci
25-02-2004, 11:03
Come ti ho detto non lascia selezionato...

okay
25-02-2004, 12:24
si questo l'ho capito............

ma non uso una variabile m_combo in quanto sto usando un progetto non mfc (forse mi sto sbagliando, spero di non portarti fuori strada), ma in
case WM_INITDIALOG:
//faccio così come da tuo spunto datomi:
if(risultato!="Windowed mode"){
SendDlgItemMessage(hWnd, IDC_COMBO1, CB_SETCURSEL, 0, (LPARAM)risultato);
//quì mi visualizza
//esempio 640 x 480 selezionato in blu
}else{
SendDlgItemMessage(hWnd, IDC_COMBO1, CB_SETCURSEL, 0, (LPARAM)"Windowed mode");
//qui mi visualizza in particolar modo
//alla prima creazione
//Windowed mode
//selezionato sempre in blu
}

tutto questo per me va bene, volevo sapere, ora che sono riuscito ad evidenziare all'inizio una scritta, fare in modo, se non la seleziono io, di evidenziare all'inizio, la scritta senza la selezione in blu.

non riesco a far funzionare m_Combo.SetCurSel(0);
o provato con IDC_COMBO1 m_combo ma mi dà errore mi dice che manca la struct\union

Tutto questo perchè se non faccio come sopra, mi ritrovo la combo creata senza nessuna scritta nel box text e se clicco su OK mi dà errore in quanto non trova nulla, a meno che io non scelgo una voce w allora funziona.

potrei intercettare l'errore, ma sarebbe meglio fare come tu dici, il fatto è che non riesco a dare una variabile da gestire per la combo, ecco percjè ho fatto come sopra, solo che mi evidenzia all'inizio la selezione in blu sulla scritta, cosa che non correi

per questa scemenza credo di aver scrutto troppo........

cionci
25-02-2004, 12:30
Ah...quello che ti ho detto è per MFC ;)

okay
25-02-2004, 18:27
Trovato...........

bastava togliere il focus
disabilitando così:
//SetFocus(GetDlgItem(hWnd, IDC_COMBO1));

ok va bene