J'essaye de créer la liste déroulante dessinée par propriétaire sur Windows Mobile 6.1 J'ai spécifié le style LBS_OWNERDRAWFIXED
tout en créant le contrôle de boîte de liste. Je gère WM_MEASUREITEM
et WM_DRAWITEM
en conséquence.Comment modifier dynamiquement la hauteur de la liste déroulante dessinée par le propriétaire dans Windows Mobile?
Je souhaite modifier la hauteur de l'élément de la liste à chaque fois que sa police change (je la modifie en utilisant WM_SETFONT
après avoir créé le contrôle). Le problème est que le message WM_MEASUREITEM
est envoyé une seule fois. J'ai besoin d'un moyen de générer à nouveau le message WM_MEASUREITEM
afin que je puisse définir la hauteur de l'élément à la hauteur de la police. J'ai vu l'article http://www.codeguru.com/Cpp/controls/listview/advanced/article.php/c1013/, mais il utilise MFC, alors que je développe ce contrôle directement en utilisant WINAPI. Certains articles mentionnent que le redimensionnement du contrôle génère à nouveau un message WM_MEASUREITEM
. Cependant, il n'est pas généré dans mon cas.
S'il vous plaît laissez-moi savoir est-il un moyen d'y parvenir dans Windows Mobile.
Merci pour la réponse Goz. J'ai essayé d'utiliser SendMessage directement et j'ai généré des messages WM_MEASUREITEM & WM_DRAWTEM. Dans le gestionnaire WM_MEASUREITEM, j'ai modifié la hauteur de l'élément. Toutefois, cette hauteur modifiée n'était pas reflétée dans les messages WM_DRAWITEM suivants. En ce qui concerne le redimensionnement de la fenêtre, je n'ai pas besoin de redimensionner la fenêtre. J'essayais juste de l'utiliser pour générer WM_MEASUREITEM. Pouvez-vous suggérer s'il vous plaît n'importe quelle autre manière de changer la taille de l'article? – Nilesh