12. juni 2002 - 08:28Der er
4 kommentarer og 1 løsning
Ret tekst på static i runtime - Visual C++ 6
Jeg har en static: IDC_STATIC_DIR på en dialog i visual c++ 6. Den skal løbende afspejle en stil til et valgt bibliotek. Hvordan gør jeg det? Jeg har et sted i koden hvor jeg kan opdatere, men hvad skal der skrives for at rette caption i runtime?
Du kan højreklikke på dialogen og vælge "ClassWizard" og fanebladet "Member Variables". I listen her finder du IDC_STATIC_DIR og klikker på "Add Variable". En dialog kommer frem hvor du kan give den et navn, fx "m_strDir", en kategori (vælg Value) og en variabeltype (vælg CString). Klik OK og igen OK, den underliggende dialog. Nu kan du sætte kontrollens tekst ved fx:
Fordelen ved denne metode er at dialogen kun skal repaintes 1 gang, nemlig ved kald af UpdateData. Man kunne også bruge SetWindowText hvorved man så ikke behøvede yderligere kald, men denne måde er en klart bedre abstraktion mellem user interface og den objekt orienterede fremgangsmåde...
Prøv at lægge mærke til hvad der bliver tilføjet til din kode, når du laver en membervariabel. En DDX_* metode bliver indsat i DoDataExchange. Denne metode håndterer konverteringen mellem variabletyper, fx fra text til int, long osv. Altså, slut med selv at foretage dødsyge in-place konverteringer! Det er da et genialt abstraktionslag! Du kan jo også lave dine egne DDX metoder, hvis du fx laver en kontrol. Metoden skal så kun laves én gang og kan bruges i alle projekter hvor du anvender den kontrol...
Og så er der jo noget der hedder DDV...
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.