boumarsel
Messages postés298Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 9 juillet 20081 19 nov. 2004 à 17:56
oui tu as raison, je vais faire une mise-a-jour de la source, et changer les anciennes fonctions en commentaire pour montrer les 2 possibilites (reconvertir les chaines et utiliser le send et getitemdata)
a+
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 nov. 2004 à 10:15
Rien n'empeche le combo de rester en CBS_SORT car CB_ADDSTRING retourne l'index nouvellement insere.
boumarsel
Messages postés298Date d'inscriptionjeudi 12 juin 2003StatutMembreDernière intervention 9 juillet 20081 19 nov. 2004 à 02:37
dans ce cas il faut ajouter ces lignes dans la fonction 'ChargerProcess':
-----
BOOL ChargerProcess(){
int i=0;
...
SendMessage(hcombo,CB_ADDSTRING,0,(LPARAM) element);
SendMessage(hcombo,CB_SETITEMDATA,(WPARAM)i++,(LPARAM)(DWORD)processus.th32ProcessID);
}
-----
et modifier le code de la fonction RetrouverProcessID
-----
BOOL RetrouverProcessID(INT listIndex)
{
processid=SendMessage(hcombo,CB_GETITEMDATA,(WPARAM)listIndex,0 );
return TRUE;
}
-----
Mais le comboBox ne doit pas avoir le style 'CBS_SORT', donc ses éléments ne seront pas triés automatiquement, une possibilité que je préfère garder pour permettre à l'utilisateur de trouver rapidement un processus dans la liste.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 nov. 2004 à 11:28
Salut,
pourquoi tu ne mets pas direct le processId en itemdata du combo plutot que de reconvertir des chaines ?
19 nov. 2004 à 17:56
a+
19 nov. 2004 à 10:15
if(Process32First(hsnapshot1,&processus)) {
do {
SendMessage(hcombo,CB_SETITEMDATA,
SendMessage(hcombo,CB_ADDSTRING,0,(LPARAM) element),
processus.th32ProcessID);
} while(Process32Next(hsnapshot1,&processus));
}
19 nov. 2004 à 02:37
-----
BOOL ChargerProcess(){
int i=0;
...
SendMessage(hcombo,CB_ADDSTRING,0,(LPARAM) element);
SendMessage(hcombo,CB_SETITEMDATA,(WPARAM)i++,(LPARAM)(DWORD)processus.th32ProcessID);
}
-----
et modifier le code de la fonction RetrouverProcessID
-----
BOOL RetrouverProcessID(INT listIndex)
{
processid=SendMessage(hcombo,CB_GETITEMDATA,(WPARAM)listIndex,0 );
return TRUE;
}
-----
Mais le comboBox ne doit pas avoir le style 'CBS_SORT', donc ses éléments ne seront pas triés automatiquement, une possibilité que je préfère garder pour permettre à l'utilisateur de trouver rapidement un processus dans la liste.
18 nov. 2004 à 11:28
pourquoi tu ne mets pas direct le processId en itemdata du combo plutot que de reconvertir des chaines ?