01. november 2004 - 11:08Der 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?
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
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
Synes godt om
Ny brugerNybegynder
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.