![]() |
Visual C++
Kako da napravim da kada u ovom ispod dijalogu npr. odaberem nekog izvođača bude u combo boxu (ispod gdje piše album) jedan popis albuma, a kada odaberem nekog drugog izvođača bude samo poipis njegovih albuma? Napravio sam projekt pomoću MFC AppWizarda
: bonker : http://img296.imageshack.us/img296/1...inar3ik.th.gif |
ako koristiš ms visual c++ 6 (ali vjerovatno je i u drugim verzijama isto):
napravi combo box, u class wizardu idi na add variable, upiši ime, kategorija: control, type: CComboBox. zatim popunjavaš combo box preko m_ime_combo_boxa.AddString("neki tekst"); nakon što korisnik izabere izvođača. |
Ma znam ja kako dodati stringove u combo box. Mene muči ovo: npr. ako pod izvodac odaberem neko_ime1 da se pod albumi pojave samo albumi od neko_ime1, a ako pod izvodac odaberem neko_ime2 da se pojave samo albumi od neko_ime2, ne i albumi od neko_ime2...
|
Citiraj:
Citiraj:
|
Javi mi se ovaj error:
error C2678: binary '==' : no operator defined which takes a left-hand operand of type 'class CComboBox' (or there is no acceptable conversion) Ovako mi izgleda kod: void CSeminarDlg::OnDropdownAlbum() { // TODO: Add your control notification handler code here // OCISTI SADRZAJ COMBO BOXA ALBUMI UpdateData(TRUE); m_Album.ResetContent(); // m_Album je varijabla drugog combo boxa (control) if(m_Izvodac=="Johnny Cash") { // m_Izvodac je varijabla prvog combo boxa, ona sadrzi trenutno oznacen sadrzaj (CString) m_Album.AddString("2"); m_Album.AddString("4"); m_Album.AddString("6"); m_Album.AddString("8"); } if(m_Izvodac == "Tom Waits") { m_Album.AddString("1"); m_Album.AddString("3"); m_Album.AddString("5"); m_Album.AddString("7"); } } a ovako sam definirao varijable: http://img208.imageshack.us/img208/9...able2no.th.gif |
moraš imati varijable koje su CString za uspoređivanje s "nekaj". za combo box sa izvođačima kreiraj još jednu varijablu koja je CString (nazovi ju m_sIzvodac, s kao string) i tu varijablu usporedi sa "Ime nekog".
edit: uglavnom, varijabla m_Izvodac mora biti CString da bi kod koji si ti napisao radio |
Citiraj:
void CSeminarDlg::OnDropdownAlbum() { // TODO: Add your control notification handler code here UpdateData(TRUE); // OCISTI SADRZAJ COMBO BOXA ALBUMI //m_Album.ResetContent(); // m_ctrCombo2 je varijabla drugog combo boxa (control) CString izbor; m_Izvodac.GetWindowText(izbor); //m_Izvodac.GetLBText(izbor); if(izbor == "Johnny Cash") { // m_SCombo1 je varijabla prvog combo boxa, ona sadrzi trenutno oznacen sadrzaj (CString) m_Album.AddString("2"); m_Album.AddString("4"); m_Album.AddString("6"); m_Album.AddString("8"); } if(izbor == "Tom Waits") { m_Album.AddString("1"); m_Album.AddString("3"); m_Album.AddString("5"); m_Album.AddString("7"); } } void CSeminarDlg::OnDropdownIzvodac() { // TODO: Add your control notification handler code here m_Album.ResetContent(); } Puno hvala na pomoći : hello2 : Ako prolaziš kroz Rijeku javi se i idemo na : cheers2 |
Sva vremena su GMT +2. Sada je 18:48. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger