使static text的中间几个字变斜体
解决方案 »
- 请问大家都是怎样找到编程相关工作的啊?
- UDP接收音频,并播放,声音断断续续的
- ADO 连接SQL Server2000数据库,如果用的是Windows的默认登录,那么连接语句应该怎么写?
- 怎么把菜单嵌入到工具栏中(好象VC6的菜单栏)?
- 请问你们公司都用什么样的源码和文档管理规范?
- 工程里面添加其他头文件,是不是一定要把头文件,拷贝到当前工程目录里面?
- 动态库(dll)中怎么添加框架,视图?
- 我如何在子窗口中弹出关于对话框?谢谢!
- ATL中合并com的问题
- 关于PlaySound的使用
- BCGControlBar Professional v6.40 Retail安装之后如何使用?
- C++动态创建对象问题
LOGFONT lf;
::ZeroMemory(&lf,sizeof(lf));
//12点的Times黑体
lf.lfHeight = - MulDiv(12,dc.GetDeviceCaps(LOGPIXFLSX),72);
lf.lfWidth= 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = FW_BOLD;
lf.lfItalic = FALSE;
lf.lfUnderline = FALSE;
lf.lfStrikeOut= FALSE;
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfQuality = DEFAULT_QUALITY;
lf.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;m_font1.CreateFontIndirect(&lf);
GetDlgItem(IDC_STATIC_X)->SetFont(&m_font1);
GetDlgItem(IDC_STATIC_Y)->SetFont(&m_font1); //12点的Arial 加粗斜体
lf.lfItatic = TRUE;
lf.lfPitchAndFamily = VARIABLE_PITCH | FF_SWISS;
m_font2.CreateFontIndirect(&lf);//设置控件字体
GetDlgItem(IDC_X)->SetFont(&m_font21);
16, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
TRUE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); m_pStatic = new CStatic[3];
m_pStatic[0].Create("Yes",WS_CHILD | WS_VISIBLE,CRect(0, 150,30,200),this,1);
m_pStatic[1].Create("Yes",WS_CHILD | WS_VISIBLE,CRect(30,150,60,200),this,1);
m_pStatic[2].Create("Yes",WS_CHILD | WS_VISIBLE,CRect(60,150,90,200),this,1);m_pStatic[1].SetFont(&m_font);
CDC *pDC,
int x,
int y,
int nAlign,
CString sFontName,
int nFONTSIZE0,
COLORREF crTextColor,
CString sText
)
{ LOGFONT lf;//字体
lf.lfStrikeOut=0;//字体带有删除线
lf.lfCharSet = DEFAULT_CHARSET ;//字符集
lf.lfEscapement =0;//角度
lf.lfItalic = false ;//字体倾斜
lf.lfUnderline = false ;//是否带有下划线
lf.lfHeight = nFONTSIZE0 ;//字号
strcpy(lf.lfFaceName,sFontName.GetBuffer(sFontName.GetLength()));
CFont font ;
font.CreateFontIndirect(&lf);
CFont *pOldFont = (CFont *)
pDC->SelectObject(&font);
UINT oldAlign,uAlign ;
switch(nAlign)
{
case 0:
uAlign = TA_LEFT | TA_TOP ;
break;
case 1:
uAlign = TA_CENTER | TA_TOP;
break;
case 2:
uAlign = TA_RIGHT | TA_TOP ;
break;
default:
uAlign = TA_LEFT | TA_TOP ;
break;
}
oldAlign = pDC->SetTextAlign(uAlign);//文字的对齐方式
int oldMode = pDC->SetBkMode(TRANSPARENT);//字体背景是否透明
int oldColor = pDC->SetTextColor(crTextColor) ;//加入字体的颜色
pDC->TextOut(x,y,sText); pDC->SetTextColor(oldColor) ;
pDC->SetTextAlign(oldAlign);
pDC->SetBkMode(oldMode);
pDC->SelectObject(pOldFont);
font.DeleteObject();//清除对象}-----------------------------------------------------
谢谢 vcleaner的提示!
CYourStatic:public CStatic
{
//重载Create,在这里面实现。
BOOL Create(....);
}