Problème avec EM_SETCUEBANNER

Résolu
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
- 6 mars 2009 à 21:46
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
- 7 mars 2009 à 11:12
Bonjour,

J'essaie d'utiliser le message EM_SETCUEBANNER qui permet d'afficher un prompt de recherche dans un contrôle EDIT, et je crois devenir fou : le message n'a pas l'air compliqué à utiliser mais ça ne fonctionne pas : je ne vois rien a l'écran.
Voici mon code :

        HWND hEdit = CreateWindowExA(WS_EX_CLIENTEDGE,
          "EDIT", 0, WS_VISIBLE | WS_CHILD,
          0, 0, 500, 100, hwnd, 0, hinst, 0);
        int i = SendMessage(hEdit, EM_SETCUEBANNER, 0, (LPARAM)L"test");

Et i contient bien 1 ce qui semble indiquer que l'appel a fonctionné.
J'ai également créé le manifest et il n'y a pas de problème de ce coté puisque je vois que les styles sont bien activés.
Précision importante : je suis sous XP

Merci a ceux qui pourront m'aider

_____________________________________
Un éditeur de ressources gratuit pour Windows

9 réponses

vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
12
7 mars 2009 à 09:50
Finalement c'est un bug d'XP : la fonctionnalité ne fonctionne pas quand les langues d'extrême-orient sont installées.
Du coup je pense que je vais refaire un EM_SETCUEBANNER à la main.
Merci encore.

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

6 mars 2009 à 23:47
Je n'en reviens pas... j'ai le même problème depuis presque un an. Je m'étais donc rabattu sur un système "à la main" (contrôle de focus, etc...) et là, en voulant essayer de t'aider, miracle, j'y suis arrivé !
Je ne sais pas quelle est la valeur de la constante EM_SETCUEBANNER, mais chez moi elle est "fausse".
Essaye ceci :
SendMessage(hEdit,0x1501,0,(LPARAM)L"test");

(je précise que je travaille en ANSI et non en unicode, mais il faut quand même préciser le L"").
Je ne sais pas si c'est un miracle, mais ça marche moi.

Cordialement, uaip.
0
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
12
6 mars 2009 à 23:53
Ah non malheureusement j'ai la bonne valeur moi, donc ça marche pas non plus en mettant 0x1501...
Tu es sous XP?

__________________
Un éditeur de ressources gratuit pour Windows
0
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

7 mars 2009 à 00:06
A vrai dire, je me doutais que ça ne fonctionnerait pas chez toi (trop beau et simple pour être vrai).
Me voilà bien embêté pour toi.. j'ai essayé de reprendre le même code que toi, et ça fonctionne bien :

Instru=CreateWindowExA(WS_EX_CLIENTEDGE,"EDIT",0,WS_CHILD,xx+118,yy+18,170,20,tabs1,0,hinst,0);
SendMessage(Instru,0x1501,0,(LPARAM)L"test");

Oui je suis sous XP sp3, IDE Code::Blocks.
Que te dire de plus à part rappeler qu'il faut bien inclure le header, linker la lib (mais tu l'as logiquement fait, sinon la compilation ne se serait pas faite), mettre les Common-Controls à la version 6.0 dans le manifest...
Du coup je ne sais pas quoi dire. Essaye toujours de modifier les 0 de ton CreateWindowExA(); par des NULL (une fois, ça m'a débogué mon code), mais je n'y crois pas du tout.

Désolé.

Cordialement, uaip.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
12
7 mars 2009 à 00:11
Si ca ne te dérange pas, tu pourrais m'envoyer un projet minimal qui fonctionne afin que j'y jette un oeil?

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

7 mars 2009 à 00:21
Hum je vais tacher de faire ça, laisse moi quelques minutes.

Cordialement, uaip.
0
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

7 mars 2009 à 00:38
Voilà le projet code::blocks



Cordialement, uaip.
0
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
12
7 mars 2009 à 00:48
Merci c'est sympa!

Alors la le problème c'est que quand j'exécute ton exe, j'ai pas le texte qui s'affiche.
J'ai essayé avec ou sans thème xp, ça change rien....

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011

7 mars 2009 à 11:12
Ah ok... alors toi aussi tu vas devoir te le taper à la main ^^ (pas compliqué, mais un peu chiant de rajouter des lignes de code juste pour ça)
Bonne continuation.

Cordialement, uaip.
0