PragmaMedlem sedan juni 200318 inlägg Hej!
Jag har programmerat en treeview kontroll i ren Windows API.
Hela applikationen är programmerad i C++ med Win API.
Jag har skapat en dialogbox i resurser som det finns bla en treeview kontroll med checkboxar.
Problemet är att jag vill få vissa av checkboxarna att vara markerade när dialogboxen startar upp automatisk.
Jag har provat lägga in funktionen i WM_INITDIALOG men det funkar inte.
När dialogboxen har startat upp har jag en knapp som jag klicka på och då är det inga problem att få checkboxarna i treeview kontrollen markerade.
Har det nått med att hela kontrollen skapas dynamiskt?
Finns det nån som har en aning hur jag skall kunna få checkboxarna i treeview-kontrollen markerade när dialogboxen initieras??
PragmaMedlem sedan juni 200318 inlägg Äntligen
Jag har löst det iallafall det är väl kanske inte på det sätt som jag hade hoppats på men det funkar. Tänk vad en liten Timer kan vara bra att ha ibland. Nu markeras checkboxen i treeview-kontrollen automatiskt och jag slipper en massa knappar.
Om det är nån som vet en annan lösning tackar jag för den.
case WM_INITDIALOG:
{
uTimerID=SetTimer(hwndDlg,0,20,NULL);
return TRUE;
}
case WM_TIMER:
{
SetCheckTreeViewItem(hwnd,IDC_TREECTRL_STADSNAT));
KillTimer(hwndDlg,uTimerID);
return TRUE;
}
UlfTMedlem sedan maj 20018 027 inlägg Eftersom jag inte vet hur en treeview i winapi funkar, får mitt tips bli något av en gissning. WM_INITDIALOG inträffar när dialogrutan initieras. Finns det överhuvudtaget något i din treeview då? Alltså, treeviewen finns, men den kanske saknar noder. Då blir det förstås svårt att förvälja några alternativ. När skapas noderna med sina checkboxar? Det borde vara först då du kan markera checkboxarna.
PragmaMedlem sedan juni 200318 inlägg Noderna skapas när dialogbox initieras
Noderrna i treeview kontrollen skapas i WM_INITDIALOG, visar med lite kod hur det ser ut.
Noderna visas precis som det ska men det är när jag skall markera checkboxarna så går det inte.
Som jag skrev tidigare så har jag en knapp i dialogboxen som anropar en funktion(markera checkboxar) och då funkar det klockrent.
Det är precis samma funktion som finns i WM_INITDIALOG, men där vill det sig inte.
case WM_INITDIALOG:
{
AddTreeViewItemsStadsnat(::GetDlgChildHwnd(hwndDlg,IDC_TREECTRL_STADSNAT));
return TRUE;
}