Avatar billede senil Nybegynder
01. november 2004 - 11:08 Der er 2 kommentarer og
1 løsning

DoDataExchange i en dialogbox

Jeg har en dialogbox som har 2 dropdown felter og 3 knapper. Man kan kun vælge tal i disse dropdown og af knapper er der send, ok og cancel. Jeg vil have det sådanne at når man trykker på send så kan jeg bruge de tal fra dropdown felterne.
DoDataExchange virker vel kun når man trykker ok, ikk?

Dette er hvad jeg har gjort:
void CProtocol_Dlg::OnBnClickedButtonSend()
{
    Robot=IDC_ROBOT; //hent værdien i feltet Robot
    Command=IDC_COMMAND; // hent værdien i feltet Command
    CMyProtocol* p_pakkage;
    p_pakkage = new CMyProtocol(Robot, Command);
//    trace("text,%d %d",Robot);
}

kan man løse dette på den måde... eller er jeg helt væk?
Avatar billede jpk Nybegynder
01. november 2004 - 11:14 #1
Nej, IDC_ROBOT er id'et på kontrollen, ikke værdien.
Du skal oprette membervariabler i stedet.
Hold Ctrl nede mens du dobbeltklikker på kontrollen med id'et IDC_ROBOT.
I dialogen angiver du så et navn, fx m_Robot og en datatype (CString, int eller hvilken type du nu ønsker).

Når du så vil "hente" værdierne, kalder du:

UpdateData(false);

og vupti, m_Robot indeholder værdien fra feltet IDC_ROBOT
Avatar billede senil Nybegynder
01. november 2004 - 11:23 #2
Tak for svaret... men hvorfor skal UpdateData være false?
Avatar billede jpk Nybegynder
01. november 2004 - 12:40 #3
Det var egentlig også noget vrøvl, den skal faktisk være true...

UpdateData(true) = opdatér membervariabler fra kontroller
UpdateData(false) = opdatér kontroller fra membervariabler
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