如何在MFC的Dialog中是部分字体显示粗体,而部分显示是正常的字体? 不知道有没有人做过在MFC的Dialog中显示的效果跟在HTML中的这段代码:<STRONG>公司</STRONG>的主要信息。显示的效果差不多的功能。注意上面的"公司"是加粗的,而且主要是这加粗的内容的长度可能不是固定的,有人遇到这问题吗?谢谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnPaint里选择字体自己画,要什么样子的都行~ 能否具体点,只做过很简单的MFC中的Dialog开发,基本都是很傻瓜的拖动,然后给按钮加事件,没有重写过什么OnPaint你说的那方法我也想到过,不过就是不知道怎么实现。 代码中设置喽,你想怎么设就怎么设,你想设几个就设几个.CDC里怎么都函数 选字体Arial bold,自已画DrawText 就是使用CPaintDC,选入你希望的字体,在界面上的某个位置直接TextOut或DrawText, 下面这段代码你参考一下吧void CDlgLogin::OnPaint() { CPaintDC dc(this); // device context for painting CString strText; dc.SetBkMode(TRANSPARENT); LOGFONT lf; CFont fontTemp, * pFontOld; dc.GetCurrentFont()->GetLogFont(&lf); lstrcpy(lf.lfFaceName, _T("华文隶书")); lf.lfWidth = 0; lf.lfWeight = FW_HEAVY; lf.lfHeight = 0x0F; fontTemp.CreateFontIndirect(&lf); pFontOld = dc.SelectObject(&fontTemp); strText = _T("用户名"); dc.TextOut(37, 36, strText); strText = _T("密码"); dc.TextOut(46, 72, strText); dc.SelectObject(pFontOld);} 用DrawText替换TextOut, 可以换行 这个我来回答..~ : )定义SIZE变量:GetTextExtentPoint32(hdc,str,strlen,&size)这个是求相应字符串长度的,//这个获得系统里字体的一些属性...GetTextMetrics (hdc, &tm)//这个获得字符的长度GetCharWidth32(hdc,char,char, &int)第一char是起始 第2个是最后char 不知道什么意思,反正一般都设成'a' 'a'就 是 'a'在这个dc下的宽度了..一般还是使用字符串长度的...因为有时候字符宽度加起来 不一定是字符串长度....具体用法LZ百度... 我想对于在MFC中显示的要求应该很多人都有做过,不知道有没有做过类似Rich Edit对Edit的扩展一样对Label(即Static Text)进行扩展呢?这估计也是个不错的想法啊,呵呵。 http://www.codeproject.com/staticctrl/xhtmlstatic.asp你看这个行不行...我没试过哈... http://www.codeproject.com/dialog/web_gui.asp 我昨天也在想,要是能做成支持HTML的那就很方便了,原来已经有人做好了。呵呵。 设置字体CFont * f; f = new CFont; f->CreateFont(20, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight FALSE, // bItalic FALSE, // bUnderline 0, // cStrikeOut GB2312_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily ("楷体_GB2312")); // lpszFac m_editControl.SetFont(f); m_editControl.SetWindowText("钢种选择"); GetDlgItem(IDC_STATIC1)->SetFont(f); 这个程序能运行,但就是不输出结果,到底是怎么了? 关于发送自定义消息,发送后没收到. 最新发现 ,,,,,,,,,, 给一个vc连接sqlserver的odbc的连接字符串吧? VC调试时kernel32.dll出错,错误处是一段汇编代码处,不知咋整,请指点! 字符串问题?????!!!!!! 关于列表控件的一个问题 [送分]运行程序后,在等待程序加载的时候,出现“程序加载中。。”是怎么实现的? 请教一个基本问题(送分100!!) 怎么CSDN这么多无聊的帖子呢? 请问getline怎么用啊,我怎么老是读不到数据呢 如何在ComboBox中添加SQL中存在的数据库
CDC里怎么都函数
{
CPaintDC dc(this); // device context for painting
CString strText;
dc.SetBkMode(TRANSPARENT); LOGFONT lf;
CFont fontTemp, * pFontOld; dc.GetCurrentFont()->GetLogFont(&lf);
lstrcpy(lf.lfFaceName, _T("华文隶书"));
lf.lfWidth = 0;
lf.lfWeight = FW_HEAVY;
lf.lfHeight = 0x0F;
fontTemp.CreateFontIndirect(&lf);
pFontOld = dc.SelectObject(&fontTemp); strText = _T("用户名");
dc.TextOut(37, 36, strText);
strText = _T("密码");
dc.TextOut(46, 72, strText); dc.SelectObject(pFontOld);
}
GetTextExtentPoint32(hdc,str,strlen,&size)
这个是求相应字符串长度的,//这个获得系统里字体的一些属性...
GetTextMetrics (hdc, &tm)//这个获得字符的长度
GetCharWidth32(hdc,char,char, &int)
第一char是起始 第2个是最后char 不知道什么意思,反正一般都设成'a' 'a'
就 是 'a'在这个dc下的宽度了..一般还是使用字符串长度的...因为有时候字符宽度加起来 不一定是字符串长度....具体用法LZ百度...
你看这个行不行...我没试过哈...