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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|