我将editbox里面的字体大小和颜色改变之后,字就变得闪烁不停
另外本来我的这个数字是个倒计时,,没有改字体之前数字是会变化的,可是为何改了之后就不变了呢?改变字体的代码如下,各位大侠帮忙看看了,很棘手的.................多谢了
if(pWnd == &m_ctr)
{
CFont * f;
f = new CFont;
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(251,30,0));
f->CreateFont(500, // nHeight
100, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
//DEFAULT_CHARSET, // nCharSet
ANSI_CHARSET, // nCharSet
//OUT_STRING_PRECIS, // nOutPrecision
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
//CLIP_CHARACTER_PRECIS,// nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("楷体_GB2312")); // lpszFac
//m_font.CreateFontIndirect(&lf);
//m_cEdit1.SetFont(&font,TRUE);
GetDlgItem(IDC_EDIT1)->SetFont(f);
}
另外本来我的这个数字是个倒计时,,没有改字体之前数字是会变化的,可是为何改了之后就不变了呢?改变字体的代码如下,各位大侠帮忙看看了,很棘手的.................多谢了
if(pWnd == &m_ctr)
{
CFont * f;
f = new CFont;
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(251,30,0));
f->CreateFont(500, // nHeight
100, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
//DEFAULT_CHARSET, // nCharSet
ANSI_CHARSET, // nCharSet
//OUT_STRING_PRECIS, // nOutPrecision
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
//CLIP_CHARACTER_PRECIS,// nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("楷体_GB2312")); // lpszFac
//m_font.CreateFontIndirect(&lf);
//m_cEdit1.SetFont(&font,TRUE);
GetDlgItem(IDC_EDIT1)->SetFont(f);
}
解决方案 »
- 求个IAT HOOK的源码.
- 100分求助:microsoft visual c++ runtime library, runtime error
- 我用ADO操作ORACLE中的BLOB的程序在Recordset->Open()函数中出错了,请高手指教!!!
- 我用classwizard add new class,为什么总是不行呢?
- 一个合格的VC网络编程程序员应该具备哪些知识?
- 在MFC中怎样建一个没有基类的类???
- 请问各位dx孙鑫的教程可以刻录不,刚下完想刻成光盘,要不要刻录密码?
- 我在程序中使用了CFileDialog,设置了OFN_ALLOWMULTISELECT属性,使其能选择多个文件,但是在选择快捷方式的文件时,出现了问题,其路径
- 如何使用realplayer的控件?
- 请问怎么编程实现收发传真?用tapi可以吗?
- DirectDraw的简单问题
- 添加类的问题
如果是onpaint之类的,把它放到其他函数中去。
{ if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetBkColor(Edit_Color);
pDC->SetTextColor(Font_Color);
return m_hbrDlg;//m_hbrDlg全局刷子
}
else
{ return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
} }
我是在这个函数里面写的
参数建立全局类COLORREF,字体只要关联后windows会自己改变的,重载OnCtlColor是为了实时改变。用OnCtlColor跟不用不会有什么区别,不是造成闪烁的原因,除非nCtlColor你类型写错了,
NCtlColor 包含了下列值,指定了控件的类型: · CTLCOLOR_BTN 按钮控件
· CTLCOLOR_DLG 对话框
· CTLCOLOR_EDIT 编辑控件
· CTLCOLOR_LISTBOX 列表框控件
· CTLCOLOR_MSGBOX 消息框
· CTLCOLOR_SCROLLBAR 滚动条控件
· CTLCOLOR_STATIC 静态控件