PathSetDlgItemPath() [Résolu]

Signaler
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
-
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
-
Bonsoir,

J'ai besoin d'utiliser PathSetDlgItemPath() sous Windows Mobile, mais shlwapi.lib n'etant pas utilisable, j'ai decidé de la coder, mais voila, le resultat n'est pas le meilleur qu'on puisse esperer (bien que cela fonctionne). Le probleme vient du mauvais calcul du nombre maximum de caracteres que l'on peut ecrire dans un controle (STATIC ou EDIT). Voila comment je procede :

- Je sous classe mon controle
-A la reception de WM_SETTEXT, j'execute ce petit bout de code :


hdc = GetDC(hwnd);




GetClientRect(hwnd, &rct);


GetTextMetrics(hdc, &tm);



iMax = rct.right / tm.tmAveCharWidth;

Mais le nombre de caracteres que je recois ne correspond pas a ce que je peux ecrire au maximum. Si Quelqu'un a une idée de comment proceder, je ne vois pas comment faire autrement :|

Merci d'avance.

+2(p - n)

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
C'est bien pour simuler un SS_PATHELLIPSIS ???
Avec GetTextExtentPoint32() se fait très bien, faut juste une boucle.

ciao...
BruNews, MVP VC++
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
C'est parfait, ca fonctionne maintenant, merci encore BruNews.

+2(p - n)