/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Edit box i MS VC++ ?
Fra : stk


Dato : 16-04-02 09:49

Hejsa.
Jeg prøver at finde lidt hoved og hale i MS VC++ 6.0.
Jeg har lavet en dialogbox, hvor jeg gerne vil have en edit box. Når man
trykker på OK, skal indholdet af edit box'en vises i en messagebox.
Jeg har en #define IDC_TEXT = 101 og sat edit boxens ID til IDC_TEXT,
men når jeg kalder GetDlgItemText med IDC_TEXT, får jeg en 'Control ID
not found'...

Er der nogen, der kan hjælpe mig?
På forhånd tak

Stefan

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Mogens Hansen (16-04-2002)
Kommentar
Fra : Mogens Hansen


Dato : 16-04-02 09:58


"stk" <stk.news@kandu.dk> wrote
>
> Er der nogen, der kan hjælpe mig?

Brug "Spy++", som typisk ligger under "Microsoft Visual Studio 6.0 Tools".
Med den kan du undersøge hvad controllernes ID faktisk er.

Check også at alle parametre til GetDlgItemText er korrekte.

Venlig hilsen

Mogens Hansen



stk (16-04-2002)
Kommentar
Fra : stk


Dato : 16-04-02 11:18

"> Brug "Spy++", som typisk ligger under "Microsoft Visual Studio 6.0
Tools".
> Med den kan du undersøge hvad controllernes ID faktisk er.
Det prøvede jeg lige - og så tudede jeg.
Spøg til side, jeg vil jo gerne selv bestemme. Det er derfor jeg
definerer IDC_TEXT, men jeg tror ikke VC indsætter _min_ værdi.

> Check også at alle parametre til GetDlgItemText er korrekte.
Det er de. Det virker foriøvrigt fin hvis jeg indsætter edit boxen som
et child window rent programmereingsmæssigt.

Stefan

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Mogens Hansen (16-04-2002)
Kommentar
Fra : Mogens Hansen


Dato : 16-04-02 12:19


"stk" <stk.news@kandu.dk> wrote

> Spøg til side, jeg vil jo gerne selv bestemme. Det er derfor jeg
> definerer IDC_TEXT, men jeg tror ikke VC indsætter _min_ værdi.
>

Kig i RC filen, og så hvor den får sin ID fra - det skulle jo gerne være fra
din define.
Naturligvis er det muligt selv at bestemme ID'et med Visual C++.

Venlig hilsen

Mogens Hansen



J. Heder (19-04-2002)
Kommentar
Fra : J. Heder


Dato : 19-04-02 19:46


"stk" <stk.news@kandu.dk> wrote in message
news:lwRu8.26444$567.1140833@news000.worldonline.dk...
> Hejsa.
> Jeg prøver at finde lidt hoved og hale i MS VC++ 6.0.
> Jeg har lavet en dialogbox, hvor jeg gerne vil have en edit box. Når man
> trykker på OK, skal indholdet af edit box'en vises i en messagebox.
> Jeg har en #define IDC_TEXT = 101 og sat edit boxens ID til IDC_TEXT,
> men når jeg kalder GetDlgItemText med IDC_TEXT, får jeg en 'Control ID
> not found'...
>
> Er der nogen, der kan hjælpe mig?
> På forhånd tak
>
> Stefan
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>

Du skal ikke benytte GetDlgItemText, du skal benytte GetDlgItem()
samt GetWindowText()

Du skal skrive følgende i din cpp fil (CMinDialog skal nuturligvis
ændre til det rigtig class navn)
------------------------------------------------------------
void CMinDialog::OnOK(void)

CEdit *pEdit;
char str[11];

pEdit = (CEdit *)GetDlgItem(IDC_TEXT); // ptr
til CEdit klodsen
pEdit->GetWindowText(str,10);
// kopier indholdet, max 10 chars
MessageBox(str,"Indholdet af CEdit boxen var ",MB_OK); // MesaageBox

CDialog::OnOK();
// Kald default OnOK functionen
}
------------------------------------------------------------
I ovenstående function er det forudsat at din ok knap har
id'en navnet "IDOK".

Dernæst skal du huske at i din .h fil "virtual void OnOK();"

jacobheder@home1.stofanet.dk












Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste