lorsque ma proc=E9dure re=E7oit le message WM_CREATE. Le texte est affich=
=E9
avec la police par d=E9faut du syst=E8me. Moi je veux utiliser la police
par d=E9faut pour les applications en GUI (donc utiliser la constante
DEFAULT_GUI_FONT) comme avec TextOut. Comment faire ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian ASTOR
wrote:
J'ai une question de débutant. Je créé une simple chaine à afficher comme ça : CreateWindow (TEXT ("static"), TEXT ("Hello world !"), WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, (HMENU) 1, ((LPCREATESTRUCT) lParam)-> hInstance, NULL);
lorsque ma procédure reçoit le message WM_CREATE. Le texte est affiché avec la police par défaut du système. Moi je veux utiliser la police par défaut pour les applications en GUI (donc utiliser la constante DEFAULT_GUI_FONT) comme avec TextOut. Comment faire ?
J'ai une question de débutant. Je créé une simple chaine à afficher
comme ça :
CreateWindow (TEXT ("static"), TEXT ("Hello world !"), WS_CHILD |
WS_VISIBLE, 0, 0, 0, 0, hwnd, (HMENU) 1, ((LPCREATESTRUCT) lParam)->
hInstance, NULL);
lorsque ma procédure reçoit le message WM_CREATE. Le texte est affiché
avec la police par défaut du système. Moi je veux utiliser la police
par défaut pour les applications en GUI (donc utiliser la constante
DEFAULT_GUI_FONT) comme avec TextOut. Comment faire ?
J'ai une question de débutant. Je créé une simple chaine à afficher comme ça : CreateWindow (TEXT ("static"), TEXT ("Hello world !"), WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, (HMENU) 1, ((LPCREATESTRUCT) lParam)-> hInstance, NULL);
lorsque ma procédure reçoit le message WM_CREATE. Le texte est affiché avec la police par défaut du système. Moi je veux utiliser la police par défaut pour les applications en GUI (donc utiliser la constante DEFAULT_GUI_FONT) comme avec TextOut. Comment faire ?
Christian a dit : "SendMessage(hStatic, WM_SETFONT, ...)
c'est sur le *label* qu'il faut fixer la fonte pas sur le container, les fontes (comme pas mal d'attributs) ne sont pas hérités entre parent et childs.
sinon: - je mettrais des coordonnées non nulles pour le Static, - le HINSTANCE transmis à CreateWindow ne sert à rien (sauf avec W98 mais c'est sûrement pas le cas). - le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Sylvain.
victor.thuillier@hotmail.fr a écrit :
Ça ne fonctionne pas. Dans mon WM_CREATE, j'ai ça (ce n'est pas
DEFAULT_GUI_FONT mais ANSI_VAR_FONT que je veux utiliser en fait) :
Christian a dit : "SendMessage(hStatic, WM_SETFONT, ...)
c'est sur le *label* qu'il faut fixer la fonte pas sur le container,
les fontes (comme pas mal d'attributs) ne sont pas hérités entre
parent et childs.
sinon:
- je mettrais des coordonnées non nulles pour le Static,
- le HINSTANCE transmis à CreateWindow ne sert à rien
(sauf avec W98 mais c'est sûrement pas le cas).
- le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans
un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Christian a dit : "SendMessage(hStatic, WM_SETFONT, ...)
c'est sur le *label* qu'il faut fixer la fonte pas sur le container, les fontes (comme pas mal d'attributs) ne sont pas hérités entre parent et childs.
sinon: - je mettrais des coordonnées non nulles pour le Static, - le HINSTANCE transmis à CreateWindow ne sert à rien (sauf avec W98 mais c'est sûrement pas le cas). - le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Sylvain.
victor.thuillier
> - je mettrais des coordonnées non nulles pour le Static, - le HINSTANCE transmis à CreateWindow ne sert à rien (sauf avec W98 mais c'est sûrement pas le cas). - le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Sylvain.
1) Les coordonnées sont modifiées lors d'un WM_SIZE 2) Ah, je savais pas, mais le texte s'affiche toujours avec cette vieille police moche 3) Les variables cxChar et cyChar sont statiques, ça m'évite de le mettre dans un WM_PAINT (leur valeur ne changera pas au cours du programme)
Le SendMessage(), c'est au Static control !
Désolé, je comprends pas ce que ça veut dire.
> - je mettrais des coordonnées non nulles pour le Static,
- le HINSTANCE transmis à CreateWindow ne sert à rien
(sauf avec W98 mais c'est sûrement pas le cas).
- le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans
un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Sylvain.
1) Les coordonnées sont modifiées lors d'un WM_SIZE
2) Ah, je savais pas, mais le texte s'affiche toujours avec cette
vieille police moche
3) Les variables cxChar et cyChar sont statiques, ça m'évite de le
mettre dans un WM_PAINT (leur valeur ne changera pas au cours du
programme)
> - je mettrais des coordonnées non nulles pour le Static, - le HINSTANCE transmis à CreateWindow ne sert à rien (sauf avec W98 mais c'est sûrement pas le cas). - le GetDC, GetTextMetrics, ReleaseDC n'ont rien à faire dans un WM_CREATE; ils peuvent servir dans le WM_PAINT.
Sylvain.
1) Les coordonnées sont modifiées lors d'un WM_SIZE 2) Ah, je savais pas, mais le texte s'affiche toujours avec cette vieille police moche 3) Les variables cxChar et cyChar sont statiques, ça m'évite de le mettre dans un WM_PAINT (leur valeur ne changera pas au cours du programme)
Le SendMessage(), c'est au Static control !
Désolé, je comprends pas ce que ça veut dire.
victor.thuillier
Ah ok, merci, donc avec "label" en premier paramètre de SendMessage et non "hwnd" (ma fenêtre principale), ça fonctionne bien, merci. :)
Ah ok, merci, donc avec "label" en premier paramètre de SendMessage et
non "hwnd" (ma fenêtre principale), ça fonctionne bien, merci. :)