/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
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
Vist : 861 gange
100 point
Dato : 16-04-02 10:48

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

 
 
Kommentar
Fra : Nyhedsbruger


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



Kommentar
Fra : stk


Dato : 16-04-02 12: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

Kommentar
Fra : Nyhedsbruger


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



Accepteret svar
Fra : Nyhedsbruger

Modtaget 100 point
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












Godkendelse af svar
Fra : stk


Dato : 14-07-02 23:20

Tak for svaret J. Heder.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste