Alban44 | Bonjour à tous, J'ai réalisé un programme sous DEV C++ 4.9.9.2
Celui ci est composé d'une fenetre principale (IDR_MAIN) et de 3 sous-fenetre ; un treeview, une listbox, et un champ edit créés de la manière suivante :
Code :
- hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT","", WS_CHILD | WS_VISIBLE | ES_NUMBER,492 ,0, 25, 25, hwnd, (HMENU)ID_EDIT_PROFONDEUR, GetModuleHandle(NULL),NULL);
-
- hTreeView = CreateWindowEx(WS_EX_CLIENTEDGE, WC_TREEVIEW,"TreeView",
- WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES | TVS_HASBUTTONS ,
- 0 ,51, 200, BAS_FENETRE-115, hwnd, (HMENU)IDR_ARBRE, GetModuleHandle(NULL),NULL);
-
- hListResultat = CreateWindowEx(WS_EX_CLIENTEDGE, "LISTBOX","", WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL | LBS_NOSEL | LBS_DISABLENOSCROLL | LBS_OWNERDRAWFIXED,201,26, 500,BAS_FENETRE-95, hwnd, (HMENU)ID_LISTRESULTAT, GetModuleHandle(NULL),NULL);
|
Le principe du prog est le suivant : il recherche le terme tapé dans le champs Edit dans unfichier text et affiche les lignes contenant ce terme dans la list box. le treeview permettant de sélectionner certaines lignes. Chaque clic sur le treeview lance un :
Code :
- SendDlgItemMessage(hwnd, ID_LISTRESULTAT, LB_RESETCONTENT, 0, 0);
|
afin de reinitialiser la listbox.
tout se passe passe bien sauf que si je clique sur la list box puis directement sur le champs treeview ca plante (avec le message d'erreur windows qui propose d'envoyer l'erreur a microsoft etc). Toutes les autres succession de clic possibles marchent bien.
Si je ne lance pas le message d'effacement cela ne plante pas.
Quelqu'un a t il une idée ? Merci.
|