000
25.09.2002, 18:38 Uhr
Lord Hessia
|
Ich habe einige ComboBoxen, deren Listboxen ich den Inhalt des zugehörigen Editfeldes hinzufügen möchte, wenn es sich noch nicht darin befindet. Mein Code funktioniert auch sehr gut, allerdings nur, wenn ich die Funktion direkt für eine ComboBox schreibe und die Control-Variable direkt anspreche, wenn ich aber versuche das ganze allgemeingültig zu machen und mir die Control-Variable mit übergeben lasse, dann gibt es einen Fehler:
C++: |
void CCocktaileingabeView::ErgaenzeComboboxEintrag(CComboBox* m_ctrl, CString m_str) { if(m_sName_Alk1!="") { if (m_ctrl.FindStringExact(-1,m_str)==CB_ERR) // Eintrag nicht in ComboBox vorhanden { MessageBox("Eintrag bislang nicht in der Liste vorhanden. Er wird hinzugefügt."); CString AktuellerString; CString VorherigerString; int AnzahlStrings = m_ctrl.GetCount(); for (int i=0; i<AnzahlStrings+1; i++) { if (i>0) m_ctrl.GetLBText(i-1,VorherigerString); else VorherigerString = "A"; if (i < AnzahlStrings) m_ctrl.GetLBText(i,AktuellerString); else AktuellerString = "Zzzzzzzzzzzzz";
if ((m_str.Compare(AktuellerString)<0) && (m_str.Compare(VorherigerString)>0)) { m_ctrl.InsertString(i, m_str); } } } } }
|
Wenn ich es so mache, beschwert sich der Compiler, dass der linke Teil verschiedener Funktionen eine Klasse/Struktur/Union sein muss, wenn ich stattdessen versuche, die Controlvariable direkt (und nicht über einen Zeiger) zu übergeben, dann meckert er rum, dass kein Kopierkonstruktor verfügbar ist. Wie kann man es sonst machen? -- _____________________________________
Brandy Alexander: 3cl Creme de Cacao, 3cl Cognac, 6cl Sahne im Shaker, nur perfekt mit einer Prise Muskatnuss
Prost!!! Dieser Post wurde am 25.09.2002 um 18:39 Uhr von Lord Hessia editiert. |