begin process at 2012 05 30 06:39:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Récupérer le message CB_SETCURSEL


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

Récupérer le message CB_SETCURSEL

lundi 10 février 2003 à 11:49:35 | Récupérer le message CB_SETCURSEL

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 second suivant la valeur.
Le second peut cocher automatiquement la case suivant sa valeur.
Lorsque je récupère le message CBN_SELCHANGE du 2eme CB, il n'y a aucun problème pour cocher ou non.
Par contre, je n'arrive pas à récupérer le message CB_SETCURSEL...
(le CBN_SELCHANGE n'est pas envoyé lorsqu'on envoie un message CB_SETCURSEL)

Voici une partie de mon code :
BOOL CALLBACK PRSMaFenetreDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{

switch (message)
{
// du code mais rien d'important pour la suite

case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_CB1:
if (HIWORD(wParam) == CBN_SELCHANGE)
{
if (GetDlgItemText(hDlg, ID_ASS_ALIAS, szBuff, sizeof(szBuff)) != 0)
{

// Ca passe bien tout ce code

if (strstr(strupr(szBuff), "XXX") == 0)
SendDlgItemMessage(hDlg, ID_CB2, CB_SETCURSEL, 3, 0L);
if (strstr(strupr(szBuff), "YYY") == 0)
SendDlgItemMessage(hDlg, ID_CB2, CB_SETCURSEL, 1, 0L);
}
}
break;

case ID_CB2:
// C'est ici que je veux récuperer le CB_SETCURSEL aussi
if (HIWORD(wParam) == CBN_SELCHANGE)
{
i = (int) SendDlgItemMessage(hDlg, ID_CB2, CB_GETCURSEL, 0, 0L);
if (i == 1 || i == 4)
CheckDlgButton(hDlg, ID_CHECKBOX1, BST_CHECKED);
}
break;
}
break;
}

}


Comment récupérer ce message CB_SETCURSEL, je pense avoir tout essayer mais rien concluant ?
Merci d'avance.
@++

PS : J'ai trouvé un moyen en lançant le message CBN_SELCHANGE après CB_SETCURSEL mais je n'aime pas trop cette solution...

SendMessage(hDlg, WM_COMMAND, MAKELONG(ID_CB2, CBN_SELCHANGE), (LPARAM)hDlg);



~~~~ Vow ~~~~
lundi 10 février 2003 à 12:34:32 | Re : Récupérer le message CB_SETCURSEL

BruNews

Administrateur CodeS-SourceS
Salut,
CB_SETCURSEL ne se recupere pas. Il est envoye par TON code. CBN_SELCHANGE est recuperable SI intervention user. Donc a toi de completer le code sous CB_SETCURSEL pour completer affichage ou autre. Si tu as, ce que je pense et conseille, deja mis le code dans la recup de CBN_SELCHANGE alors il te suffit d'un:
PostMessage(hParent, WM_COMMAND,
MAKELONG(idCmb,CBN_SELCHANGE),
(long) hcmb);
ciao...

-------------------------------
Réponse au message :
-------------------------------

> 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 second suivant la valeur.
> Le second peut cocher automatiquement la case suivant sa valeur.
> Lorsque je récupère le message CBN_SELCHANGE du 2eme CB, il n'y a aucun problème pour cocher ou non.
> Par contre, je n'arrive pas à récupérer le message CB_SETCURSEL...
> (le CBN_SELCHANGE n'est pas envoyé lorsqu'on envoie un message CB_SETCURSEL)
>
> Voici une partie de mon code :
>
BOOL CALLBACK PRSMaFenetreDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
> {
>
> switch (message)
> {
> // du code mais rien d'important pour la suite
>
> case WM_COMMAND:
> switch(LOWORD(wParam))
> {
> case ID_CB1:
> if (HIWORD(wParam) == CBN_SELCHANGE)
> {
> if (GetDlgItemText(hDlg, ID_ASS_ALIAS, szBuff, sizeof(szBuff)) != 0)
> {
>
> // Ca passe bien tout ce code
>
> if (strstr(strupr(szBuff), "XXX") == 0)
> SendDlgItemMessage(hDlg, ID_CB2, CB_SETCURSEL, 3, 0L);
> if (strstr(strupr(szBuff), "YYY") == 0)
> SendDlgItemMessage(hDlg, ID_CB2, CB_SETCURSEL, 1, 0L);
> }
> }
> break;
>
> case ID_CB2:
> // C'est ici que je veux récuperer le CB_SETCURSEL aussi
> if (HIWORD(wParam) == CBN_SELCHANGE)
> {
> i = (int) SendDlgItemMessage(hDlg, ID_CB2, CB_GETCURSEL, 0, 0L);
> if (i == 1 || i == 4)
> CheckDlgButton(hDlg, ID_CHECKBOX1, BST_CHECKED);
> }
> break;
> }
> break;
> }
>
> }
>

>
> Comment récupérer ce message CB_SETCURSEL, je pense avoir tout essayer mais rien concluant ?
> Merci d'avance.
> @++
>
> PS : J'ai trouvé un moyen en lançant le message CBN_SELCHANGE après CB_SETCURSEL mais je n'aime pas trop cette solution...
>
>
SendMessage(hDlg, WM_COMMAND, MAKELONG(ID_CB2, CBN_SELCHANGE), (LPARAM)hDlg);
>

>
>
> ~~~~ Vow ~~~~
lundi 10 février 2003 à 19:32:03 | Re : Récupérer le message CB_SETCURSEL

vow

C'est bien ce que j'ai écrit dans mon PS.......
Merci quand même

~~~~ Vow ~~~~


-------------------------------
Réponse au message :
-------------------------------

> Salut,
> CB_SETCURSEL ne se recupere pas. Il est envoye par TON code. CBN_SELCHANGE est recuperable SI intervention user. Donc a toi de completer le code sous CB_SETCURSEL pour completer affichage ou autre. Si tu as, ce que je pense et conseille, deja mis le code dans la recup de CBN_SELCHANGE alors il te suffit d'un:
> PostMessage(hParent, WM_COMMAND,
> MAKELONG(idCmb,CBN_SELCHANGE),
> (long) hcmb);
> ciao...
>
> -------------------------------
> Réponse au message :
> -------------------------------

> > PS : J'ai trouvé un moyen en lançant le message CBN_SELCHANGE après CB_SETCURSEL mais je n'aime pas trop cette solution...
> >
> > SendMessage(hDlg, WM_COMMAND, MAKELONG(ID_CB2, CBN_SELCHANGE), (LPARAM)hDlg);
> >
lundi 10 février 2003 à 19:35:29 | Re : Récupérer le message CB_SETCURSEL

BruNews

Administrateur CodeS-SourceS
oui mais fais gaffe, le aeme param est le hcmb et NON hdlg.
ciao...


-------------------------------
Réponse au message :
-------------------------------

> C'est bien ce que j'ai écrit dans mon PS.......
> Merci quand même
>
> ~~~~ Vow ~~~~
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> > CB_SETCURSEL ne se recupere pas. Il est envoye par TON code. CBN_SELCHANGE est recuperable SI intervention user. Donc a toi de completer le code sous CB_SETCURSEL pour completer affichage ou autre. Si tu as, ce que je pense et conseille, deja mis le code dans la recup de CBN_SELCHANGE alors il te suffit d'un:
> > PostMessage(hParent, WM_COMMAND,
> > MAKELONG(idCmb,CBN_SELCHANGE),
> > (long) hcmb);
> > ciao...
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
>
> > > PS : J'ai trouvé un moyen en lançant le message CBN_SELCHANGE après CB_SETCURSEL mais je n'aime pas trop cette solution...
> > >
> > > SendMessage(hDlg, WM_COMMAND, MAKELONG(ID_CB2, CBN_SELCHANGE), (LPARAM)hDlg);
> > >
>
mardi 11 février 2003 à 09:08:54 | Re : Récupérer le message CB_SETCURSEL

vow

Comment on l'a ce hCmb ?

~~~~ Vow ~~~~


-------------------------------
Réponse au message :
-------------------------------

> oui mais fais gaffe, le aeme param est le hcmb et NON hdlg.
> ciao...
>
mardi 11 février 2003 à 09:43:13 | Re : Récupérer le message CB_SETCURSEL

BruNews

Administrateur CodeS-SourceS
Salut,
PostMessage(hdlg, WM_COMMAND,
MAKELONG(idCmb,CBN_SELCHANGE),
(long) GetDlgItem(hdlg,idCmb));
ciao...



-------------------------------
Réponse au message :
-------------------------------

> Comment on l'a ce hCmb ?
>
> ~~~~ Vow ~~~~
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > oui mais fais gaffe, le aeme param est le hcmb et NON hdlg.
> > ciao...
> >
>
mercredi 12 février 2003 à 10:05:24 | Re : Récupérer le message CB_SETCURSEL

vow

Merci pour cette précision

~~~~ Vow ~~~~


-------------------------------
Réponse au message :
-------------------------------

> Salut,
> PostMessage(hdlg, WM_COMMAND,
> MAKELONG(idCmb,CBN_SELCHANGE),
> (long) GetDlgItem(hdlg,idCmb));
> ciao...
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Comment on l'a ce hCmb ?
> >
> > ~~~~ Vow ~~~~
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > oui mais fais gaffe, le aeme param est le hcmb et NON hdlg.
> > > ciao...
> > >
> >
>


Cette discussion est classée dans : message, id, hdlg, cb, setcursel


Répondre à ce message

Sujets en rapport avec ce message

SendDlgItemMessage CB_SETITEMDATA et CB_GETITEMDATA [ par 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 u CheckMenuRadioItem [ par gabeuskadi ] Bonjour, Je suis débutant en C++ et je voudrais savoir comment créer un menu où l'utilisateur peut cocher certaines options. Ce que je veux faire auss probleme avec une boite de dialogue [ par anonyme_man_in_this_world ] salut !! ça sera simpa si vous m'aidiez a corriger ce code ******************************************************************************* # 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 [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 terminer un thread? [ par leprov ] salut a tous.bon voila le pb, jai une dialogbox avec un thread d'initialisation de cette dialogbox, et je voudrais dans certains cas interrompre bruta MESSAGE MAP pour une combobox dans une toolbar [ par equimose ] La grosse équimoze!!!!!!!Bonjour a tousLorsque je fais une modif sur la ComboBox de la ToolBar, il ne ce passe rien!!!voyez pourquoi : http://cppfranc 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 Problème de socket non bloquante [ par Rankin ] Bonjour !Je travaille actuellement sur la réalisation d'un chat très sommaire en C. La solution que j'ai adoptée consiste, côté serveur, à avoir un ta


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,716 sec (3)

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