23. maj 2007 - 18:53Der er
6 kommentarer og 1 løsning
Tabs i win32
Jeg er ved at lave et c++ program med win32 api'et, og nu kunne jeg godt tænke mig nogle tabs i toppen af programmet. Jeg har læst lidt om WC_TABSCONTROL classen, men jeg kunne ikke lave et vindue med den class, da min compiler siger den ikke kender WC_TABSCONTROL, er der nogen der kan hjælpe mig med at lave nogen tabs i toppen af mit program?
Hej Okay tak nu har jeg fået lavet min tabcontrol, men hvordan kan jeg gøre sådan at jeg kan have forskellige win controls under hvert tab? Altså så jeg kan have flere tabs og når man vælger et nyt tab så kan den vise forskellige ting.
Du kan disable kontrollerne med: SetWindowLong(Ctrl, GWL_STYLE, (GetWindowLong(Ctrl, GWL_STYLE) | WS_DISABLED) & ~WS_VISIBLE); Og enable kontrollerne med: SetWindowLong(Ctrl, GWL_STYLE, (GetWindowLong(Ctrl, GWL_STYLE) | WS_VISIBLE) & ~WS_DISABLED); Ctrl er HWND for kontrollen. I nogle tilfælde er det nødvendigt at gentegne kontrollerne efter at de er enabled/disabled: InvalidateRect(Ctrl, 0, TRUE);
Du modtager en WM_NOTIFY med TCN_SELCHANGE når brugeren vælger en anden tab.
Hej Bertel, tak for hjælpen, det her begynder at give lidt mening for mig nu. Jeg har lige et par spørgsmål, spm jeg håber du vil besvare for mig. Hvis jeg laver 2 edit controls, kan jeg så disable den ene så den kun viser den anden? HVis den er disablet, bliver teksten der er skrevet i den så gemt? så jeg kan bruge getwindowtext(..)? eller skal jeg gemme den hvergang inden jeg skifter tab?
Ja, du bruger koden ovenfor til at enable og disable de to edit kontroller. Du behøver ikke at gemme teksten i edit boxene når du disabler/skjuler dem.
Jeg siger mange tak for hjælpen Bertil, jeg har fået det til at virke nu :) Jeg gætter på du stadig ikke vil have nogen points right? Jeg siger ihvertfald endnu engang tak.
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.