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 

Votre réponse

2 réponses

Meilleure réponse
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscription 7 novembre 2014 Dernière intervention - 10 nov. 2010 à 19:12
3
Merci
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++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

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
Merci
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.