26. november 2004 - 12:24Der er
42 kommentarer og 1 løsning
hvor finder man hwnd på en Dialog?
Jeg har en dialog med et editfelt og div. knapper. En af de knapper kalder en funktion som skal skrive noget i editfeltet. For at det kan lade sig gøre bruger jeg det her kode SetDlgItemText(IDC_EDIT1, tmpString); Problemet er bare at for at det skal virke skal den funktion have 3 input. SetDlgItemText(HWND, int, unsigned short *). Hvad jeg har kunnet læse mig frem til er at HWND er noget handle men jeg kan ikke finde noget sted hvor jeg evt. vil kunne finde handle på den dialog hvor editfeltet er.
Mød TrackMan og Veo på Computerworld Cloud & AI Festival og hør, hvordan tech ændrer måden, vi træner og udvikler talent – fra skolebold til The Masters.
øhhh, hvad mener du? gemme dialogens handle? Jeg har brugt appwizard til at lave en dialogbaseret app så jeg har ikke selv siddet og skrevet al koden til den dialog. Det er derfor jeg vil vide om jeg kan finde handle et eller andet sted. Det står sikkert i koden et sted men jeg kan ikke lige gennemskue al den tekst som VC++ genererede.
// 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
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control }
jep, det er har jeg fat i. Problemet er bare at jeg skal kunne udskrive til det editfelt fra en funktion i en anden fil. Jeg ved godt at "hello, world" kendetegner begynderprogrammer men det er nemmere at bruge når man skal teste om noget virker før man går helt amok fordi man har skrevet hele sit program og det så ikke virker når man tester det.
Aner det ikke. Jeg har ikke selv skrevet koden, det lod jeg den wizard ting gøre for mig. Kan det her have noget med det at gøre: CDialog::OnInitDialog(); ?
hmmm det bliver en længere forklaring det her. Jeg har et program som kan køre på et apparat. Dette program skal omstruktureres så det kan køres på en PC. Det har jeg ordnet men for at få vist output fra de forskellige funktioner der er i det program er det nødvendigt at bruge MFC da programmet er skrevet i C++ (C# kan ikke bruges det har jeg forsøgt). Jeg ved ikke om det er nemmere at lave med MDI eller SDI i stedet for lave det dialogbaseret.
det er der problemet ligger, jeg fjols!! hehe, nå så må jeg til at lave alle de funktioner som er lavet i assembler om til alm. C++ funktioner der returnerer de ting jeg skal bruge.
OK den går helt amok over at jeg skriver extern CString WriteTest(); i min .h fil. Hvis jeg skriver det så for jeg besked om at der mangler et ; før identifier 'WriteTest', hvis ikke jeg gør det skriver den undeclared identifier. *Den=compiler*
jeg får først fejlen når jeg builder mit projekt. Hvis ikke jeg havde inkluderet de rigtige .h-filer burde jeg også få en fejl hvis jeg compiler PC_Target.CPP, hvilket jeg ikke gør. Jeg er lettere frustreret, det kan ikke være fordi jeg bruger den CString test forkert?
Nu er der ingen fejl og jeg kan få den messagebox frem og der står Hello, World i den.
jeg har altså isoleret fejlen til at være i PC_Target.H filen, men hvordan for man den til at genkende CString, da det tilsyneladende er det der går galt.
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.