Вы находитесь на странице: 1из 2

PROGRAMAREA ORIENTATĂ PE OBIECTE - Laborator

Lucrarea de laborator 11

Visual C++ MFC


Utilizarea controalelor.

1.1.1 Controlul de tip lista combo – CComboBox


Permite selectarea unui şir de caractere dintr-o listă retractabilă. În momentul în care este
selectată se desfăşoare lista şi poate fi selectată opţiunea dorită. Cele mai utile metode ale
CComboBox sunt cele de construire a listei:

AddString(s) – adaugă un şir de caractere la sfârşitul listei sau la poziţia indexată


alfabetic dacă opţiunea de auto-sortare a listei este activată;
DeleteString(index) – şterge un element din listă de pe poziţia specificată de index;
InsertString(index,s) –inserează un şir s în listă la poziţia specificată de index;
FindString – caută un sub-şir în listă şi dacă îl găseşte îi returnează indexul;

Exemplu:
CComboBox *lista=(CComboBox *)GetDlgItem(IDC_COMBO1);
lista->AddString("Andrei");
lista->AddString("Adrian");
lista->AddString("Radu");
lista->AddString("Mihai");

Metode pentru lucrul cu indexul:

GetCount – returnează numărul de elemente din listă;


GetCurSel – returnează poziţia elementului selectat din listă;
SetCurSel – setează elementul curent selectat copiindu-l în caseta de editare, de notat că
primul element are indicele 0;

Clear,Copy,Cut, Paste – şterge, copie, decupează,respectiv adaugă text din caseta de


editare în sau din Clipboard;

GetLBText – obţine textul unui element din listă de la poziţia specificată de un index;
Exerciţiu 1. Realizaţi un program cu o listă de ţări europene cel puţin zece. Creaţi şi o
casetă de editare. În momentul în care aţi selectat o ţară numele acesteia să fie copiat în caseta de
editare.
PROGRAMAREA ORIENTATĂ PE OBIECTE - Laborator

Se vor parcurge următorii paşi:


Se trece în ResourceView şi se introduc o casetă combinată (Combo Box) şi o casetă de
editare.
Se intră în Combo Box Properties (făcând clic pe butonul din dreapta mous-ului, atunci
când este poziţionat pe casetă) şi se selectează stilul ca fiind Drop List.
Tot din Combo Box Properties se selectează Data, putând introduce itemii doriţi (ţările).
Se va putea trece la un item nou, numai dacă se apasă combinaţia de taste CTRL+ENTER.
Casetei de editare i se asociază variabila membru m_str de tip CString.
Pentru Combo Box se va introduce o funcţie void CXXXDlg::OnSelchangeCombo1() ce
va conţine următoarele instrucţiuni:
GetDlgItem(IDC_COMBO1)->GetWindowText(m_str);
UpdateData(FALSE);
Se rulează aplicaţia.

1.1.2 Controlul de tip text static: CStatic

CStatic este un control care doar afişează un text la o anumită locaţie. Acest text poate fi
modificat ca şi la celelalte controale prezentate cu ajutorul funcţiei SetWindowText şi poate fi
aflat acel text cu GetWindowText. Un exemplu ar fi următoarea structură:

CStatic *st=(CStatic *)GetDlgItem(IDC_STATIC);


st->SetWindowText("Aceasta este un text static.");

Exerciţiu 2. Modificaţi programul precedent astfel încât în dreptul casetei de editare să


apară „tara aleasa”, iar în dreptul listei „tari disponibile”.