Avatar billede kamikaze Nybegynder
12. april 2002 - 12:17 Der er 14 kommentarer og
1 løsning

MFC >> Populate CComboBox

Hvordan får jeg fyldt min CComboBox i MFC?

Jeg har en dialog med en combo (IDC_COMBO1) og har lavet en member variabel i ClassWizard'en (m_Combo). Så vidt jeg kan læse skulle flg. virke:

OnDialogInit()
{
  m_Combo.AddString("Hello");
  m_Combo.AddString("Again");
  return true;
}

MEN...Det gør det ikke...
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:18 #1
(Jeg startede på MFC i går, og ved altså ikke ret meget. Kender udemærket C++ og en del til ren Win32 API)
Avatar billede jpk Nybegynder
12. april 2002 - 12:36 #2
Kan det ikke kompileres eller sker der ikke noget?
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:47 #3
Det kompilerer fint, men combo'en er tom...
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:48 #4
Det er samme problem, hvis jeg prøver at fylde combo'en ud fra properties->data (altså manuelt). Den er satdig tom. Hvad mangler jeg?
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:49 #5
(kan godt få det til at virke med en Edit-box.)
Avatar billede jpk Nybegynder
12. april 2002 - 12:55 #6
Har du tilføjet OnIntiDialog med wizarden?
Prøv evt. at debugge for at se om den udføres...
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:57 #7
Ja, OnInitDialog() virker (Det er også der Edit-box'en bliver sat)
Avatar billede kamikaze Nybegynder
12. april 2002 - 12:58 #8
// CMFC_test3Dlg message handlers

void CMFC_test3Dlg::PopulateCombo()
{
    TCHAR szBuffer[MAX_PATH];
    GetWindowsDirectory(szBuffer, MAX_PATH);
    m_Combo.AddString(szBuffer);
    GetSystemDirectory(szBuffer, MAX_PATH);
    m_Combo.AddString(szBuffer);
}

BOOL CMFC_test3Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
   
    PopulateCombo();
    //m_Combo.AddString("Hello");
    //UpdateData(FALSE);

    m_strEdit = "EDIT";
    UpdateData(FALSE);

   
    return TRUE;  // return TRUE  unless you set the focus to a control
}
Avatar billede kamikaze Nybegynder
12. april 2002 - 13:00 #9
jpk >> Har du ikke et simpelt MFC projekt liggende, du har lyst til at maile til mig?
Avatar billede jpk Nybegynder
12. april 2002 - 13:02 #10
Din kode virker fint hos mig, har du lavet plads i comboen?
Avatar billede kamikaze Nybegynder
12. april 2002 - 13:04 #11
Nej, det har jeg ikke. Mener du m_Combo.InitStorage() ?
Avatar billede kamikaze Nybegynder
12. april 2002 - 13:05 #12
Hvor henne? On create?
Avatar billede jpk Nybegynder
12. april 2002 - 13:08 #13
Nej, jeg tænkte bare på om du, da du har sat combo-boxen på dialogen, er kommet til at gøre så der intet plads er i den.

Hvis du klikker på drop-pilen, kan du sætte den maksimale størrelse på drop-listen, men det ved du sikkert...
Avatar billede kamikaze Nybegynder
12. april 2002 - 13:11 #14
Nej, det vidste jeg ikke - og nu virker det. Så har det virket de sidste 2 timer uden at jeg kunne se det... Tak for hjælpen >> Smid lige et svar!
Avatar billede jpk Nybegynder
12. april 2002 - 13:15 #15
Okay, gerne...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester