Accueil > Forum > > > > faire fonctionner une list box
faire fonctionner une list box
lundi 21 octobre 2002 à 20:08:32 |
faire fonctionner une list box

lolman27
|
c tout con ms jarive pas a faire fonctionner une list box jarive pa a utiliser la fonction sendmessage quelqun pourrai me faire un code pour exemple svp qui rajoute des element ds la list en retire... merci davance
|
|
mercredi 23 octobre 2002 à 14:19:44 |
Re : faire fonctionner une list box

llo
|
salut, pas compliqué... voilà un exemple tout bête:
char szTmp[50]; UINT i; RECT rc; GetClientRect( hwnd, &rc ); hwndConn = CreateWindow( "LISTBOX", "Connections", WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | LBS_SORT, 0, 0, rc.right, rc.bottom, hwnd, (HMENU) IDL_CONN, lpCreateStruct->hInstance, NULL );
// ajout de 3 items SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item1") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item2") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item3") ;
// insertion d'un item en seconde position wsprintf (szTmp, "item inséré", 1); SendMessage (hwndConn, LB_INSERTSTRING, 1, (DWORD)(LPSTR)szTmp);
// sélection du second item SendMessage(hwndConn, LB_SETCURSEL, (WPARAM) 2, (LPARAM) 0 ) ;
// récupération de la données associées par défaut à l'item d'indice 1 (2nde position) i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); // affichae => valeur initiale de 0 sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une numérique 50 SendMessage (hwndConn, LB_SETITEMDATA, 1, (DWORD)50);
// récupération de la valeur numérique i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une chaîne de caractères SendMessage (hwndConn, LB_SETITEMDATA, 2, (DWORD)(LPSTR)"toto");
// récupération de cette chaîne MessageBox(hwnd, (LPSTR)(DWORD)SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)2, (LPARAM)0), "CB MSG", MB_OK);
// récupération de la sélection courante index = SendMessage( hwndConn, LB_GETCURSEL,(WPARAM) 0, (LPARAM) 0 );
voilà... si tu veux + d'infos n'hésite pas!
shuss l'lo
------------------------------- Réponse au message : -------------------------------
c tout con ms jarive pas a faire fonctionner une list box jarive pa a utiliser la fonction sendmessage quelqun pourrai me faire un code pour exemple svp qui rajoute des element ds la list en retire... merci davance
|
|
vendredi 25 octobre 2002 à 00:31:19 |
Re : faire fonctionner une list box

lolman27
|
Salut Merci pour ta reponse Ca ne fonctionne pas cher moi jai comme erreur la fonction sendmessage ne comporte pas 4 parametre en effet kan je regarde les parametre de la fonction sendmessage il ni a ke 3 donne rekise:(UINT,lparam,wparam) un truc comme ca je croi j ai pas msdn donc chui aller voir sur microsoft et la il a 4 parametre pour sendmessage je compren pas vu que g bien visual c++ 6 porquoi c different cher moi chai pa....
------------------------------- Réponse au message : -------------------------------
salut, pas compliqué... voilà un exemple tout bête:
char szTmp[50]; UINT i; RECT rc; GetClientRect( hwnd, &rc ); hwndConn = CreateWindow( "LISTBOX", "Connections", WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | LBS_SORT, 0, 0, rc.right, rc.bottom, hwnd, (HMENU) IDL_CONN, lpCreateStruct->hInstance, NULL );
// ajout de 3 items SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item1") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item2") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item3") ;
// insertion d'un item en seconde position wsprintf (szTmp, "item inséré", 1); SendMessage (hwndConn, LB_INSERTSTRING, 1, (DWORD)(LPSTR)szTmp);
// sélection du second item SendMessage(hwndConn, LB_SETCURSEL, (WPARAM) 2, (LPARAM) 0 ) ;
// récupération de la données associées par défaut à l'item d'indice 1 (2nde position) i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); // affichae => valeur initiale de 0 sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une numérique 50 SendMessage (hwndConn, LB_SETITEMDATA, 1, (DWORD)50);
// récupération de la valeur numérique i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une chaîne de caractères SendMessage (hwndConn, LB_SETITEMDATA, 2, (DWORD)(LPSTR)"toto");
// récupération de cette chaîne MessageBox(hwnd, (LPSTR)(DWORD)SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)2, (LPARAM)0), "CB MSG", MB_OK);
// récupération de la sélection courante index = SendMessage( hwndConn, LB_GETCURSEL,(WPARAM) 0, (LPARAM) 0 );
voilà... si tu veux + d'infos n'hésite pas!
shuss l'lo
------------------------------- Réponse au message : -------------------------------
c tout con ms jarive pas a faire fonctionner une list box jarive pa a utiliser la fonction sendmessage quelqun pourrai me faire un code pour exemple svp qui rajoute des element ds la list en retire... merci davance
|
|
vendredi 25 octobre 2002 à 09:29:59 |
Re : faire fonctionner une list box

llo
|
salut, Si tu travaille avec les MFC alors les sendmessage ne nécessite que 3 paramètres sachant que le handle est implicite par rapport à la classe dans laquelle tu utilise cette fonction.... Le pb est que dans ton cas, le hwnd implicite doit être celui de la fenêtre et non de la liste. Pour outrepasser cela, tu dois préfixer la fonction par ==> "::"
ex ==> "::SendMessage(HWND, UINT, WPARAM, LPARAM)
Dans ce cas, tu passes le HWND de la liste... voilà shuss
l'lo
------------------------------- Réponse au message : -------------------------------
Salut Merci pour ta reponse Ca ne fonctionne pas cher moi jai comme erreur la fonction sendmessage ne comporte pas 4 parametre en effet kan je regarde les parametre de la fonction sendmessage il ni a ke 3 donne rekise:(UINT,lparam,wparam) un truc comme ca je croi j ai pas msdn donc chui aller voir sur microsoft et la il a 4 parametre pour sendmessage je compren pas vu que g bien visual c++ 6 porquoi c different cher moi chai pa....
------------------------------- Réponse au message : -------------------------------
salut, pas compliqué... voilà un exemple tout bête:
char szTmp[50]; UINT i; RECT rc; GetClientRect( hwnd, &rc ); hwndConn = CreateWindow( "LISTBOX", "Connections", WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | LBS_SORT, 0, 0, rc.right, rc.bottom, hwnd, (HMENU) IDL_CONN, lpCreateStruct->hInstance, NULL );
// ajout de 3 items SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item1") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item2") ; SendMessage(hwndConn, LB_ADDSTRING, (WPARAM) 0, (LPARAM) (LPTSTR) "item3") ;
// insertion d'un item en seconde position wsprintf (szTmp, "item inséré", 1); SendMessage (hwndConn, LB_INSERTSTRING, 1, (DWORD)(LPSTR)szTmp);
// sélection du second item SendMessage(hwndConn, LB_SETCURSEL, (WPARAM) 2, (LPARAM) 0 ) ;
// récupération de la données associées par défaut à l'item d'indice 1 (2nde position) i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); // affichae => valeur initiale de 0 sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une numérique 50 SendMessage (hwndConn, LB_SETITEMDATA, 1, (DWORD)50);
// récupération de la valeur numérique i = SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)1, (LPARAM)0); sprintf(szTmp, "item %ld", i); MessageBox(hwnd, (LPSTR)szTmp, "CB MSG", MB_OK);
// affectation d'une chaîne de caractères SendMessage (hwndConn, LB_SETITEMDATA, 2, (DWORD)(LPSTR)"toto");
// récupération de cette chaîne MessageBox(hwnd, (LPSTR)(DWORD)SendMessage(hwndConn, LB_GETITEMDATA, (WPARAM)2, (LPARAM)0), "CB MSG", MB_OK);
// récupération de la sélection courante index = SendMessage( hwndConn, LB_GETCURSEL,(WPARAM) 0, (LPARAM) 0 );
voilà... si tu veux + d'infos n'hésite pas!
shuss l'lo
------------------------------- Réponse au message : -------------------------------
c tout con ms jarive pas a faire fonctionner une list box jarive pa a utiliser la fonction sendmessage quelqun pourrai me faire un code pour exemple svp qui rajoute des element ds la list en retire... merci davance
|
|
lundi 23 février 2004 à 19:40:45 |
Re : faire fonctionner une list box

sacksith
|
Salut,
j'ai essaye d'utiliser les infos de lolman27 et en voici le code
//DEBUT CODE LRESULT CALLBACK LCBoG5(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG : DlgDirList(hDlg, "map/*.map", IDC_CARTECHOIX, 0, DDL_READONLY); break; case WM_COMMAND: switch(LOWORD(wParam)) { case IDC_B6VALID: HWND hList = GetDlgItem(hDlg, IDC_CARTECHOIX); if (hList) { int index = SendMessage(hList, LB_GETCURSEL,(WPARAM) 0, (LPARAM) 0 ); MessageBox(hDlg, (LPSTR)(DWORD)SendMessage(hList, LB_GETITEMDATA, (WPARAM)index, (LPARAM)0), "CB MSG", MB_OK); } break; } break; default : return(false); } return(true); } //FIN CODE
IDC_B6VALID est un bouton qui ouvre une messagebox qui doit afficher la selection de l'index de la listbox. Si le messagebox s'affiche bien, il est vide :(
Pourriez-vous m'aider à voir l'erreur. J'ai pourtant bien envoyé un message indiquant la selection courant, non ? merci dom
|
|
Cette discussion est classée dans : box, list, fonctionner, jarive
Répondre à ce message
Sujets en rapport avec ce message
Écrire un Message dans « List Box » [ par JCpp ]
Slt,Sur le langage Visual Studio en CppDans la fenêtre « Dialog1 », j?ai mi une fenêtre « List Box »Pour afficher il suffit d?écrire :SendDlgItemMessa
pb list box en VC++ [ par owel ]
salut !!je voudrai faire un truc simple affiché le contenu d'un repertoire dans une list box mais je n'y arrive pas !la lecture du fichié pas de pb !m
VC++ 6 && list box [ par safira ]
safiraSalut!!je voudrais savoir comment faire apparaître sélectionné, le premier champs d'une list box?Merci
ecrire dans list control / list box [ par alanbraxe31 ]
http://membres.lycos.fr/alanbraxe31MFCsalut!je cherche à remplir et modifier des champs dans une list control ou une list box (visual c++) que j'ai cr
ecrire dans une list box via visual c++ 6 [ par raspa ]
j'en ai marre de galérer pour ce genre de connerie :o(voilà, ce que j'ai fait:dans une appli avec MFC, j'ai mis une fenetre list box, et quand je veux
comment supprimer des item selectionner dans une list box? [ par raspa ]
voilà le code que je test sous VISUAL C++ 6:void CFileInfoDlg::OnSupprimer() { for (int i=0;i { if (m_List2.GetSel(i) >0 ) { m_List2.DeleteString
List box recuperation des string [ par youpiyoyo ]
j'aurai besoin de recup les donné dans une list boxdans case LBN_SELCHANGE:j'ai essayé GetDlgItemText mais ca marche pomerci d'avanceyoupiopen source
Afficher dans une List box [ par Wiwi ]
Bonjour,je souhaite insérer des données dans une list box.Pour le moment j'utilise :m_msg_box.AddStirng("1");m_msg_box.AddString("2");m_msg_box.AddStr
ecrire dans une List Box à partir d'un thread [ par seito ]
[size = 5] Seito [/size]S'il vous plait j'aimerais ajouté du texte dans une liste BOX mais le texte est receuillit par un thread est ce que quelqu'u
list box et thread [ par seito ]
s'il vous plait est ce que quelqu'un sait comment accéder à une LIST BOX à partir d'un thread.je travaille sous MFC "visual c++ 6.0"la list box à été
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : CXIMAGERE : CXIMAGE par rt15
Cliquez pour lire la suite par rt15
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|