Bonjour,
1) Est-il possible lors d'un SetDlgItemtext() d'en contrôle CEDit d'éviter la génération d'un message WM_SETTEXT ?
2) La méthode SetWindowText d'un contrôle est-elle équivalente à SetDlgItemText ?
Merci.
Version imprimable
Bonjour,
1) Est-il possible lors d'un SetDlgItemtext() d'en contrôle CEDit d'éviter la génération d'un message WM_SETTEXT ?
2) La méthode SetWindowText d'un contrôle est-elle équivalente à SetDlgItemText ?
Merci.
SetDlgItemText() et SetWindowText() envoient tous les deux un message WM_SETTEXT au contrôle de destination.
::SetDlgItemText(hWnd, id, texte) équivaut à ::SetWindowText(::GetDlgItem(hWnd, id), texte).
Et pour les versions MFC (basées sur CWnd etc), c'est pareil.
salut,
pour le 2) oui.
pour le 1)
si tu bloques le message il n'y aura pas de mise a jour ..
tu peux preciser ton probléme ?
:D
C'était un peu compliqué à expliquer....
Mais bon j'ai résolu mon problème.
Eventuellement une question subsidiaire :
J'ai une petite boite de dialogue sur laquelle j'ai 2 Ctrl EDit associés à des Scroll Bar verticaux pour faire évoluer leurs valeurs.
Dans ma classe je n'ai qu'une méthode OnVScroll pour les 2 scroll bars avec comme parametre un pointeur pScrollBar sur CScrollBar.
Comment savoir quel est le scrollBar qui est associé a un Edit donné ?
essaye de demander le parent de la scrollbar (GetParent()),ça devrait etre l'edit ....
a verifier.
:D
Je vais essayer cette solution.
merci.
Euh ...
le Getparent() ne va pas me retourner la fenêtre Parent ?
Ce que je cherche c'est le contrôle CEDit associé ...
re,
je pensais à ça:
:DCode:
1
2 pScrollBar->GetParent();
J'ai testé ceci :
Je récupère une valeur de pointeur qui est la même quelque soit le ScrollBar manipulé.Code:
1
2 CWnd *pWnd; pWnd = pScrollBar->GetParent();
Par contre à partir de pScrollBar est-il possible de retrouver l'ID du Scrollbar ?
peut etre plus simple ,faire un GetFocus pour trouver la fenetre qui a le focus en cours...
:D
C'est ok.
Je crée deux variables locales :
Comme cela je peux identifier le bon ScrollBar !!Code:
1
2
3
4
5
6
7 CScrollBar *pScrollBar1 = static_cast<CScrollBar *>(GetDlgItem(IDC_SCROLL)) ; CScrollBar *pScrollBar2 = static_cast<CScrollBar *>(GetDlgItem(IDC_SCROLL_R)) ; if (pScrollBar == pScrollBar1) {} else if (pScrollBar == pScrollBar2) {}
Merci pour votre aide bénéfique !