C/Visual C - richtEdit

 
Vista:

richtEdit

Publicado por Frank Ernesto (13 intervenciones) el 27/02/2007 06:23:25
como puedo cambiar la fuente de un texto seleccionado en un richtEdit, hasta ahora se como cambiarle el color pero no la Fuente

gracias por adelantado

salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:richtEdit

Publicado por Nelek (816 intervenciones) el 27/02/2007 08:01:07
Hola,

no se bajo que programas pero en VC++ tienes dos posibilidades. Una es crearte un objeto derivado de CFont y luego darle los parametros que quieres. La otra es dentro del CRichEditCtrl usar las funciones miembros de la clase para el apartado del formateo.

Dentro de CFont tienes:

CFont::CreateFont
BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR lpszFacename );

CFont myFont;
myFont.CreateFont (10, 8);
// esto haria una fuente sencilla de ese tamanio pero sin mas compicaciones aceptando todos los parametros por defecto.


Dentro del CRichEditCtrl tienes:

CRichEditCtrl::SetDefaultCharFormat
BOOL SetDefaultCharFormat( CHARFORMAT& cf );
//Para una letra

CRichEditCtrl::SetSelectionCharFormat
BOOL SetSelectionCharFormat( CHARFORMAT& cf );
//Para la letra(s) seleccionadas

CRichEditCtrl::SetWordCharFormat
BOOL SetWordCharFormat( CHARFORMAT& cf );
//Para una palabra entera

CRichEditCtrl::SetParaFormat
BOOL SetParaFormat( PARAFORMAT& pf );
//Para un parrafo

Las estructuras que se pasan por parametro son:
//Letra / Palabra
typedef struct _charformat {
UINT cbSize;
_WPAD _wPad1;
DWORD dwMask;
DWORD dwEffects;
LONG yHeight;
LONG yOffset;
COLORREF crTextColor;
BYTE bCharSet;
BYTE bPitchAndFamily;
TCHAR szFaceName[LF_FACESIZE];
_WPAD _wPad2;
} CHARFORMAT;

//Parrafo
typedef struct _paraformat {
UINT cbSize;
_WPAD _wPad1;
DWORD dwMask;
WORD wNumbering;
WORD wReserved;
LONG dxStartIndent;
LONG dxRightIndent;
LONG dxOffset;
WORD wAlignment;
SHORT cTabCount;
LONG rgxTabs[MAX_TAB_STOPS];
} PARAFORMAT;


Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar