Problème avec EM_SETCUEBANNER

[Résolu]
Signaler
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
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

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
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.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
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.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Hum je vais tacher de faire ça, laisse moi quelques minutes.

Cordialement, uaip.
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Voilà le projet code::blocks



Cordialement, uaip.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
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.