begin process at 2012 02 11 23:06:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

SendDlgItemMessage CB_SETITEMDATA et CB_GETITEMDATA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SendDlgItemMessage CB_SETITEMDATA et CB_GETITEMDATA

vendredi 12 juin 2009 à 11:49:39 | SendDlgItemMessage CB_SETITEMDATA et CB_GETITEMDATA

jderf

Pour faire simple, je remplis une ComboBox d'une boite de dialoque et remplis aussi l'itemData avec une chaîne. Je souhaite récupérer la chaine dans un MessageBox.

Index=SendDlgItemMessage(hDlg, ID_CB1, CB_ADDSTRING, 0, (LONG) "Ceci est un test");
SendDlgItemMessage(hDlg, ID_CB1,CB_SETITEMDATA,Index,(LPARAM)"Un test");
La chaîne "Un test" est convertie en LONG
../..

Maintenant, je convertis le LONG en retour de SendDlgItemMessage en string
ostringstream oss;
oss << SendDlgItemMessage(hDlg, ID_CB1,CB_GETITEMDATA,SendDlgItemMessage(hDlg, ID_CB1, CB_GETCURSEL, 0, 0),0);
Je convertis la string en char* et cast en (const char*)
MessageBox(NULL, (const char*)oss.str().c_str(), "select ITEMDATA", MB_OK | MB_ICONINFORMATION);

La messageBox m'affiche 4460720, pourquoi la conversion ne fonctionne pas ??
vendredi 12 juin 2009 à 14:32:33 | Re : SendDlgItemMessage CB_SETITEMDATA et CB_GETITEMDATA

ed73

Bonjour,

CB_SETITEMDATA te permet d'associer une valeur de type DWORD à un item de ta combobox. Donc avec (LPARAM)"Un test" tu mets à cet endroit l'adresse de "Un test", que tu récupères logiquement avec CB_GETITEMDATA.

On se sert généralement de cette fonctionnalité pour associer un pointeur sur un objet à un item de la combobox de manière à accéder directement à cet objet en récupérant l'index de la ligne sélectionnée avec CB_GETCURSEL.

ed73


Cette discussion est classée dans : id, hdlg, cb, senddlgitemmessage, cb1


Répondre à ce message

Sujets en rapport avec ce message

combo box api win 32 [ par lafolle24320 ] Bonjour, je tente de faire fonctionner une combox mais je n'y parviens pas... Voici comment je procède : j'ai une variable globale UINT Jour j'initial [URGENT - AIDE SVP] Access Violation Bizarre... [ par DivXPVobD ] Bonjour,Voici un bout de mon code :Effect=1;SetDlgItemText(hDlg, IDC_EFFET, "E\0");SendDlgItemMessage(hDlg, IDC_TYPE, CB_RESETCONTENT, NULL, NULL);Sen Récupérer le message CB_SETCURSEL [ par vow ] Bonjour, je travaille tjs sur Visual C++ 6 en langage C J'ai une fenêtre avec 2 combo-box et une case à cocher.Le premier peut changer ou pas le secon Cherchez l'erreur... [ par andrealphus ] 4ndr&@lphu$Voilà mon code :LRESULT CALLBACK dialogProc4(HWND hDlg, UINT Umess, WPARAM wParamD, LPARAM lParamD){ int m_IdTimer=0; // ID du PARANORMAL ACTIVITY ??? [ par andrealphus ] 4ndr&@lphu$bien encore une fois voilà mon code définitif :LRESULT CALLBACK dialogProc4(HWND hDlg, UINT Umess, WPARAM wParamD, LPARAM lParamD){ int Combox et API [ par shadow1779 ] Bonjour,j'ai un tout petit probleme je pense que vous saurez y faire vite, j'essai de me faire un mailer anonyme dans mon logiciel pour envoyer et rec C++ [win32] 3 petites questions [ par JCpp ] Bonjour J’ai trois petites questions en C++ Win32 Comment on fait, pour sauter une ligne avec un « Listbox Control » ? SendDlgItemMessage(hdlg, IDC_L erreur [ par taieb84 ] salut, j'ai une class produit et j'aimerai faire quelques operations de insertion, suppression,affichage,recherche a l'aide d'un vecteur mais j'ai eu Arreter une recherche std::find_if dans un vector ordonné [ par bigzooloo ] Bonjour,Avant de poser la question, voici les données (simplifiées) à prendre en compte : - langage C++, lib stl + boost/** un simple client */class C sprintf sans evaluer %d [ par majong ] Bonjour, dans ma requete j'ai besoin '%Y%m%d' mais comment faire avec sprintf qui remplace %dsprintf(temp,"UPDATE THistorique SET dateh=DATE_FORMAT(NO


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,354 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales