programmation win32

programmation win32 - Programmation

Marsh Posté le 30-08-2002 à 11:19:32    

Je fais un petit programme en win32 et je souhaite ecrire en times new roman dans un bouton.
Est-ce que quelqu'un l'a deja fait?
Peut-il me donner un exemple simple?
 
Merci.

Reply

Marsh Posté le 30-08-2002 à 11:19:32   

Reply

Marsh Posté le 30-08-2002 à 13:13:39    

Je sais pas si c'est possible :) en natif.
 
Bouton "blanc" (sans texte) puis écriture "au vol" dessus ??

Reply

Marsh Posté le 30-08-2002 à 13:58:12    

Créé ta font avec CreateFont, SelectObject pour l'associer au hWnd de ton application (font en deuxieme param). Tu peux ensuite utiliser TextOut pour positioner ton texte a des endroits précis de ton dialog. Y a surement mieux comme méthode mais c'est ce qui me vient à l'esprit la :)

Reply

Marsh Posté le 30-08-2002 à 14:33:23    

le probleme est que SelectObject demande un hdc comme premier parametre. Alors je fais GetDC(hWnd) mais ca ne fait rien.
 
Qu' ai-je fait de mal?

Reply

Marsh Posté le 30-08-2002 à 14:37:47    

Code :
  1. m_hDC = CreateCompatibleDC(GetDC(0))


 
Devrait faire l'affaire.

Reply

Marsh Posté le 30-08-2002 à 14:45:07    

maintenant, j' arrive a afficher qlq chose dnas la fenetre
en faisant:

Code :
  1. HDC hdc = GetDC(hWnd);
  2.             SelectObject(hdc, hfont);
  3.             TextOut(hdc,0,0,"hello", 5);
  4.             ReleaseDC(hWnd, hdc);


 
Mais j'aimerais ecrire dans un bouton ou un autre composant.
Par exemple, j'ai HWND btn_ok qui est le HANDLE vers mon bouton.

Reply

Marsh Posté le 30-08-2002 à 14:57:54    

justement, les deuxiemes et troisieme permettent de positionner ton texte a n'importe quel endroit, tu as plus qu'a ecrire la ou se trouve ton bouton. Tu peux utiliser GetClientRect pour calculez précisement l'axe x et y de tes boutons.
 
MAJ : lol ! mdr ... et si tu collais un label sur ton bouton ? :D


Message édité par karlkox le 30-08-2002 à 14:59:01
Reply

Marsh Posté le 02-09-2002 à 09:52:31    

Il y avait une solution relativement simple mais pas evidente a trouver :-)
 

Code :
  1. SendMessage(btn_clip, WM_SETFONT, (unsigned int)hfont, true);


 
 
Il fallait lui envoyer un fax... :-))))

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed