Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Zeiger auf Combobox

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.09.2002, 19:10 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
wenn Du mit Zeigern arbeitest wird dich jeder Compiler bei m_ctrl.FindStringExact(........ vollmeckern.
m_ctrl->FindStringExact(...... könnte da schon besser funktionieren.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.09.2002, 21:56 Uhr
Lord Hessia



*schäm*
--
_____________________________________

Brandy Alexander: 3cl Creme de Cacao, 3cl Cognac, 6cl Sahne im Shaker, nur perfekt mit einer Prise Muskatnuss

Prost!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: