Fichier ressource .rc et fonts [Résolu]

bunob 4 Messages postés jeudi 24 avril 2003Date d'inscription 10 novembre 2010 Dernière intervention - 10 nov. 2010 à 14:51 - Dernière réponse : bunob 4 Messages postés jeudi 24 avril 2003Date d'inscription 10 novembre 2010 Dernière intervention
- 10 nov. 2010 à 21:48
Bonjour,

J'essaie d'appliquer une police particulière sur un contrôle :
#include <windows.h>
#include "resource.h"
#include "winres.h"
....
FONT 18, "MS Sans Serif"
BEGIN
CTEXT "0",IDC_AFR, 130, 30, 500, 320, WS_BORDER
END

C'est un extrait du fichier ressource.rc, quand je compile j'obtiens l'erreur suivante avec visual C++ :
error RC2111 : invalid control type

J'ai lu sur MSDN FONT Statement qu'il faut utiliser la fonction LoadResource mais je n'ai aucune idée de comment l'utiliser.
Je n'ai pas trouver d'exemple de code.

Je bloque, quelqu'un peut il m'aider ?

Merci.

bunob
Afficher la suite 

2 réponses

Répondre au sujet
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 10 nov. 2010 à 19:12
+3
Utile
HFONT hfnt = 0;

On prepare ici la font, exemple:
case WM_INITDIALOG:
LOGFONT lf;
RECT rc;
hctrl = GetDlgItem(hdlg, IDC_AFR);
GetClientRect(hctrl, &rc);
lf.lfHeight = -(rc.right * 5 / 6);
lf.lfWidth = 0;
*((UINT64*) &lf.lfEscapement) = 0; // lfEscapement & lfOrientation
lf.lfWeight = FW_SEMIBOLD; // +16
*((DWORD*) &lf.lfItalic) = 0; // +20
*((DWORD*) &lf.lfOutPrecision) = 0; // +24
*((DWORD*) lf.lfFaceName) = 0x61697241;
*((DWORD*) (lf.lfFaceName + 4)) = 0x6C; // "Arial"
hfnt = CreateFontIndirect(&lf);
lf.lfHeight = -14;
lf.lfWeight = FW_BOLD;
*((DWORD*) lf.lfFaceName) = 0x72756F63; // "cour
*((DWORD*) (lf.lfFaceName + 4)) = 0x20726569; // "courier "
*((DWORD*) (lf.lfFaceName + 8)) = 0x77656E; // "courier new"
hfntLst = CreateFontIndirect(&lf);
SendMessage(hctrl, WM_SETFONT, (WPARAM) hfnt, 0);

TU ADAPTERAS A TON CAS.

ciao...
BruNews, MVP VC++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de BruNews
bunob 4 Messages postés jeudi 24 avril 2003Date d'inscription 10 novembre 2010 Dernière intervention - 10 nov. 2010 à 21:48
0
Utile
Nickel !

Merci beaucoup !
Commenter la réponse de bunob

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.