Accueil > Forum > > > > pb affichage ComboBox dans Dialog
pb affichage ComboBox dans Dialog
mercredi 15 mars 2006 à 04:48:56 |
pb affichage ComboBox dans Dialog

Guillemouze
|
Salut tout le monde, j'ai un souci d'affichage de mon combo dans un dialog. Quand je click sur la fleche pour afficher la liste, il ne m'affiche rien! Pour resumer mon prog, j'appele le dialog par DialogBox(hInst, MAKEINTRESOURCE(IDD_DEVICEINFO), hWnd, DeviceInfo);
La methode DeviceInfo contient la gestion des evenements, du genre switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); switch(wmId) { case IDC_CB_DEVICE: .....
et j'ajoute bien les elements au combo. Les elements sont bien presents parcequ'en envoyant un message pour selectionner le premier element, il me l'affiche bien. Je pense qu'il faut que je fasse un truc du genre DefDialogProc(...) ou DefWindowProc(...), mais je sais pas trop comment my prendre. Voici la partie interessante de mon code: ---- FICHIER RC ----IDD_DEVICEINFO DIALOGEX 0, 0, 173, 103 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_STATICEDGE CAPTION "Device Informations" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN COMBOBOX IDC_CB_DEVICE,7,7,159,14,CBS_DROPDOWN | CBS_SORT /*| CBS_HASSTRINGS*/ | WS_VSCROLL | WS_TABSTOP LTEXT "Propriétaire",IDC_STATIC,7,30,37,8 CONTROL "",IDC_PB_BATTERY,"msctls_progress32",WS_BORDER,54,86,110,10 CONTROL "",IDC_DT_TIME,"SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_APPCANPARSE | WS_TABSTOP | 0x8,116,46,50,13 CONTROL "",IDC_PB_VOLUME,"msctls_progress32",WS_BORDER,54,68,110,10 LTEXT "Volume",IDC_STATIC,7,68,37,8 LTEXT "Batterie",IDC_STATIC,7,86,37,8 LTEXT "Date",IDC_STATIC,7,49,37,8 EDITTEXT IDC_EDIT_OWNER,54,29,112,12,ES_AUTOHSCROLL | NOT WS_BORDER CONTROL "",IDC_DT_DATE,"SysDateTimePick32",DTS_RIGHTALIGN | WS_TABSTOP,54,47,58,12 END
---- HANDLER DE LA FENETRE PRINCIPALE ----LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_DEVICEINFO: DialogBox(hInst, MAKEINTRESOURCE(IDD_DEVICEINFO), hWnd, DeviceInfo); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_DESTROY: PostQuitMessage(0); break; ... default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } ---- HANDLER DU DIALOG EN QUESTION ----INT_PTR CALLBACK DeviceInfo(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; HWND tmp; UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: m_nomadTools->initDialogDeviceInfo(hDlg); return (INT_PTR)TRUE;
case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); switch(wmId) { case IDC_CB_DEVICE: //TODO:gerer le changement de device return (INT_PTR) TRUE; ...//traitement des autres elements case IDCANCEL: EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; default: return (INT_PTR) FALSE; } default: return (INT_PTR) FALSE; } return (INT_PTR) FALSE; }
--- LA FONCTION m_nomadTools->initDialogDeviceInfo ---- void initDialogDeviceInfo(HWND hDlg) { //init the device list HWND hCb = GetDlgItem(hDlg, IDC_CB_DEVICE); SendMessage(hCb, CB_RESETCONTENT, 0, 0); SendMessage(hCb,CB_ADDSTRING, 0, (LPARAM) "element 0"); SendMessage(hCb,CB_ADDSTRING, 0, (LPARAM) "element 1"); SendMessage(hCb,CB_SETCURSEL, 0, 0); LRESULT x = SendMessage(hCb,CB_GETCOUNT, 0, 0); //retoure bien 2 }
Merci de vaotre aide :)
|
|
mercredi 15 mars 2006 à 11:04:48 |
Re : pb affichage ComboBox dans Dialog

BruNews
|
COMBOBOX IDC_CB_DEVICE,7,7,159,14,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP peut-etre ira mieux. Dans la dialogProc les events de bouton devraient retourner 0. ciao... [ Lien ]BruNews, MVP VC++
|
|
mercredi 15 mars 2006 à 14:50:37 |
Re : pb affichage ComboBox dans Dialog

Guillemouze
|
nan le pb vien pas de la. j'ai aussi essayer de retourner FALSE mais ca change rien.
en fait, dans ma fenetre principale, g une combo aussi que j'ai declare comme ca:
hCombo = CreateWindowEx(WS_EX_CLIENTEDGE , WC_COMBOBOX, "", WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST , 10, 30, 200, 50, hWnd, NULL, hInst, NULL);
et la liste s'affiche bien quand je click dessus (meme vide ca m'affiche une liste vide). Mais la fenetre principale n'est pas un dialog, et je me demande si ca vien pas de la, parce que le handler de la fenetre contient des DefWindowProc(), et je n'ai pas créé de "case" pour ce combo.
Dans mon dialog, quand je click sur le combo, la liste ne saffiche pas, j'ai l'impression qu'il faut que je renvoie le message d'affichage.
j'ai essayer de mettre un messagebox pour l'evenement CBN_DROPDOWN dans le handler du dialog, et il m'affiche bien le messagebox.
|
|
samedi 18 mars 2006 à 02:10:48 |
Re : pb affichage ComboBox dans Dialog

Guillemouze
|
Réponse acceptée !
c bon j'ai trouve mon erreur :) pour ceux que ca interesse l'erreur se trouve ici:
---- FICHIER RC ---- IDD_DEVICEINFO DIALOGEX 0, 0, 173, 103 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_STATICEDGE CAPTION "Device Informations" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN COMBOBOX IDC_CB_DEVICE,7,7,159,14,CBS_DROPDOWN | CBS_SORT /*| CBS_HASSTRINGS*/ | WS_VSCROLL | WS_TABSTOP LTEXT "Propriétaire",IDC_STATIC,7,30,37,8 CONTROL "",IDC_PB_BATTERY,"msctls_progress32",WS_BORDER,54,86,110,10
CONTROL "",IDC_DT_TIME,"SysDateTimePick32",DTS_RIGHTALIGN |
DTS_UPDOWN | DTS_APPCANPARSE | WS_TABSTOP | 0x8,116,46,50,13 CONTROL "",IDC_PB_VOLUME,"msctls_progress32",WS_BORDER,54,68,110,10 LTEXT "Volume",IDC_STATIC,7,68,37,8 LTEXT "Batterie",IDC_STATIC,7,86,37,8 LTEXT "Date",IDC_STATIC,7,49,37,8 EDITTEXT IDC_EDIT_OWNER,54,29,112,12,ES_AUTOHSCROLL | NOT WS_BORDER CONTROL "",IDC_DT_DATE,"SysDateTimePick32",DTS_RIGHTALIGN | WS_TABSTOP,54,47,58,12 END
qu'il faut remplacer par COMBOBOX IDC_CB_DEVICE,7,7,159,200,CBS_DROPDOWN | CBS_SORT /*| CBS_HASSTRINGS*/ |
en fait ce que je ne savais pas c'est que quand on créé un combobox avec l'editeur graphique, il faut faire le rectangle de selection qui contient la taille du combo complet (ie. la taille du combo déroulé)
|
|
Cette discussion est classée dans : case, hwnd, ws, wparam, idc
Répondre à ce message
Sujets en rapport avec ce message
Creer un controle standard API Win32 [ par Kazuya ]
Bojour,Alors voila, j'essaie de me mettre aux API win32 et la j'ai un petit probleme, lorsque j'affiche un controle dans ma feuille principale, il sci
CreateWindowEx [ par Galmiza ]
Salut,J'ai fait une application en plein ecran en utilisant la fonction CreateWindowEx et directX. (pour l'instant j'ai desactivé les textures)L'appui
Edit Control [ par cybermatthieu ]
Bonjours,Je suis en Train d'apprendre comment progrmmer en Win32 avec la Class Windows.h. Ce petit programme ne fait q'afficher des caracter mais j'ai
ChooseColor bloqué ? [ par NeKoF ]
Salut tous le monde !J'ai un gros soucis ma boite de dialogJe vous explique :Dans ma boite de configuration, je souhaite sélectionner une couleur en c
Savoir quand on clique sur un bouton [ par cyberlewis ]
Slt à tous, Voilà j'ai un code que j'ai fait, et normalement si on cliques sur les boutons, ça lance la fonction Encode() ou Decode() en fonction du b
Hep Hep Hep [ par Joky ]
Salut les gens :pPtit Pb, me lancer pas de cailloux s'il vous plait ;)Bon me lance dans vc++ 6.0 win32jdéfinie tout mes controle de fenetreIDC_EDIT et
Où passent mes tabulations... [ par Nebula ]
Bonjour, En utilisant des richedits dans une fenêtre créée avec CreateWindowEx et dont les messages sont traités avec IsDialogMessage, je me suis ape
probleme de menu [ par Stubbornman ]
Bonsoir a tous,J'ai un soucis avec des menus. Je souhaite creer des fenetres filles qui ont chacune un menu. Or je n'arrive pas a afficher les menus d
Win32 problème. [ par TeniX ]
Salut, Voila j'ai crée de maniere simple une source qui exprime mon problème , je trouve pas la source du problème , enfaite quand les fenêtres sont l
PROBLEME DE CHARGEMENT JPEG DANS UN ECRAN DE VEILLE [ par Batman60 ]
bonjourclic droit sur l'exe et puis "tester" le prog fonctionne à merveille mais une fois installé à l'execution de l'ecran de veille les textures jpe
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|