Extras din laborator
*Generaţi aplicaţia de tip Dialog (Dialog Based!) Fisa selectînd ca şi tip de proiect MFC AppWizard(exe).Aplicaţia serveşte la realizarea unei fişe de înscriere la un curs opţional,datele putînd fi eventual stocate într-o bază de date.
Crearea aplicaţiei în Microsoft Visual Studio 2010
Deschidem o aplicaţie MFC Application cu titlul Fisa,de tipul Dialog Based,care va avea butoane Maximize şi Minimize.Vom depune pe fereastra de lucru:4 controale de tip Static Text,3 controale Edit Control,2 controale Radio Button și o casetă combinată ComboBox de tip Dropdown.
Modificăm titlurile afișate de controale și denumirile butoanelor,cu ajutorul casetei Properties de unde selectăm și edităm proprietatea Caption.Schimbăm ID-urile componentelor în afară de Static Text și butoanele implicite în următoarele valori(de la primul Edit Box spre al doilea Radio Button):IDC_NUME,IDC_PRENUME,IDC_CNP,
IDC_COMBO1,IDC_SEMESTRUL,IDC_SEMESTR.
Pentru Radio Button1(IDC_SEMESTRUL) modificăm valorile proprietăților Group și TabStop din False în True.Pentru Radio Button2(IDC_SEMESTR)validăm(True)doar proprietatea Group.În ClassWizard selectăm fila Member Variables și declarăm variabile asociate controalelor.
Ca să fie afișată întreaga listă derulantă,facem clic pe Combo Box în dreptul butonului,până apare o săgeată dublă și pătratul de la mijlocul marginii de jos a casetei va fi de culoare închisă.
Tragem cu cursorul de acest pătrat în jos stabilind astfel înălțimea listei din caseta COMBOBOX.
În fereastră MFC Class Wizard selectăm eticheta Virtual Functions și din Overriden virtual functions selectăm OnInitDialog și facem clic pe butonul Edit Code.În codul funcției după rândul:
//TODO: Add extra initialization here
scriem rîndul :m_semestrul=0;
Din ClassWizard selectăm tab-ul Member Variables,selectăm pe rînd controalele IDC_CNP,IDC_NUME,IDC_PRENUME,IDC_SEMESTRUL,IDC_COMBO1 și le asociem variabilele cu ajutorul opțiunii Add Variable... :m_cnp,m_nume,m_prenume de tip CString,m_semestrul de tip int,m_curs de tip control CComboBox.
După asocierea variabilei m_curs( de tip CComboBox)casetei combinate,în funcția OnInitDialog()scriem secvența-sursă pentru popularea casetei combinate cu șiruri de caractere:
m_curs.AddString((LPCTSTR)((CString)"(alegeti cursul"));
m_curs.AddString((LPCTSTR)((CString)"Bazele utilizarii"));
m_curs.AddString((LPCTSTR)((CString)"Bazele programarii"));
m_curs.AddString((LPCTSTR)((CString)"Baze de date"));
m_curs.AddString((LPCTSTR)((CString)"Stiluri si aplicatii pentru Web"));
m_curs.SelectString(-1,(LPCTSTR)((CString)"(alegeti cursul"));//valoarea selectata implicit
UpdateData(FALSE);
//Parametrul pentru AddString trebuie să fie de tip LPCTSTR,de aceea șirul de caractere(char*)îl convertim cu operatorul cast în CString,apoi CString în LPCTSTR.
----------------------------------------------------------------------------------------------
În final apelăm funcția UpdateData(FALSE) pentru a afișa în controal modificările efectuate în variabilele m_curs și m_semestrul.
Pentru cursul Baze de date(poziția 3,numărând de la 0)vom adăuga o secvență de cod care alege semestrul și dezactivează butoanele de opțiune.Secvența va fi asociată evenimentului CBN_SELCHANGE.
----------------------------------------------------------------------------------------------------------------------------
void CFisaDlg::OnCbnSelchangeCombo1()
{ // TODO: Add your control notification handler code here
if(m_curs.GetCurSel()==3) //numarul de ordine al sirului “Baze de date”
{UpdateData(); //valorile variabilelor se copie in controale
m_semestrul=1; //alege al 2-buton de optiune
GetDlgItem(IDC_SEMESTRUL)->EnableWindow(FALSE); //dezactiveaza butonul de optiune
GetDlgItem(IDC_SEMESTR)->EnableWindow(FALSE);
UpdateData(FALSE);
}
else
{GetDlgItem(IDC_SEMESTRUL)->EnableWindow(); //activeaza butonul de optiune
GetDlgItem(IDC_SEMESTR)->EnableWindow();
}
}
Preview document
Conținut arhivă zip
- Crearea Aplicatiilor in Visual C++.doc