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 14
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 14
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 14
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 14
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
Rejoignez-nous