18. september 2001 - 14:57Der er
2 kommentarer og 1 løsning
Oprettelse af et enkelt childvindue.
Jeg arbejder på en applikation i VC++, hvor jeg skal modellere en process, udfra nogle forhold, som jeg kontinuerligt får igennem en socketforbindelse.
Jeg vil anvende hele hovedvinduet til at optegne min model, og drudover have et childvindue der indeholder en form for tekstlog over socketkommunikationen.
Mit problem er nu at jeg skal oprette det childvindue.
Jeg har forsøgt at oprette et nyt vindue ved blot at oprette et HWND, og køre en \"createwindow\". Men jeg har problemer med at gøre dette da jeg ikke er sikker på hvilken hInstance jeg skal bruge.
Skal jeg oprette en ny eller anvende hovedvinduets?
VC++\'s \"hello world\"-framework anvender to funktioner som jeg ikke helt kan se fornuften i.
InitInstance()
ATOM MyRegisterClass(HINSTANCE hInstance)
Jeg kan ikke helt gennemskue hvordan dette skal anvendes, når jeg skal bruge flere vinduer.
Jeg har tidigere arbejdet med MDI, men føler det er lidt overkill for blot et childvindue.
Hvis det er et child-vindue, ville jeg anvende hovedvinduets hInstance - så \"dør\" childen sammen med hovedvinduet.
I C++ Builder ville man bare oprette to forms, og lade programmet initiere begge ved opstart. Herved kunne de bruges sidestillet. (Hovedformen ville så skulle have fokus - normal gøres dette ved at danne den sidst.)
Et vindue har ikke et HINSTANCE (correct me if Im wrong), det er kun processer (programmer) der har det. Du skal bruge den HINSTANCE som WinMain får leveret, det er helt klart det mest simple, og det virker i de fleste situationer. Hvis du vil lave et child vindue skal du da bare vælge hovedvinduet som parent når du kører CreateWindow for at lave child vinduet... jeg kan ikke se hvad problemet er... måske fordi jeg er dum? :)
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.