如何调整菜单的字体大小

luyysea 2009-10-26 02:18:55
在VC中,方法都有哪些?
...全文
387 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyysea 2009-12-18
  • 打赏
  • 举报
回复
发现顶级菜单还是很难改动,弹出部分的已经改了。。。
luyysea 2009-10-29
  • 打赏
  • 举报
回复
谢谢6楼,12楼,利用 pDC->SelectObject(pOldFont);修改了部分字体大小。
stivenjia 2009-10-28
  • 打赏
  • 举报
回复


DWORD CStaticEx::AdjustFont(LONG lUnits,int const nWeight,int const nChare,BOOL bItalic,BOOL bUnderline,
BOOL bStrikeOut)
{
CFont *lpFont = GetFont(),tgFont;
CRect tgRc;
CSize tgSize;
LOGFONT tgLogFont = { 0 };
GetClientRect(&tgRc);
lpFont = GetFont();
lpFont->GetLogFont(&tgLogFont);
tgLogFont.lfHeight = -MulDiv(tgRc.Width()/70 + lUnits,m_tgDrawContext.m_tgCompatibleDC.GetDeviceCaps(LOGPIXELSY),72);
tgLogFont.lfWeight = nWeight;
tgLogFont.lfPitchAndFamily = DEFAULT_PITCH|FF_SWISS;
if( nWeight >= SEMIBOLD)
strcpy(tgLogFont.lfFaceName,_T("Tahoma"));
tgFont.CreateFontIndirect(&tgLogFont);
SetFont(&tgFont);
m_lpDefFont = lpFont;
return SetWindowText(m_szText,m_dwTxtColor,m_unFormat);
}
luyysea 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tr0j4n 的回复:]
DrawItem函数里的语句放到一个按钮响应函数里面????????囧

牛头不对马嘴。。。。这个是写在你派生的菜单类里面的啊
[/Quote]

没有,是我分别在DrawItem和按钮响应函数里试的。
luyysea 2009-10-27
  • 打赏
  • 举报
回复
谢谢!尝试中。。。
MoXiaoRab 2009-10-27
  • 打赏
  • 举报
回复
PopupMenu同样需要自绘,记住
MoXiaoRab 2009-10-27
  • 打赏
  • 举报
回复
自己绘菜单咯,从CMenu派生,慢慢写

void CMyMenu::DrawItem (LPDRAWITEMSTRUCT lpDIS)
{
ASSERT(lpDIS != NULL);
CDC* pDC = CDC::FromHandle(lpDIS->hDC);

//之前创建好的字体CFont*m_pNewFont;
CFont *pOldFont = pDC->SelectObject(m_pNewFont);
pDC->TextOut(x,y,szText);

pDC->SelectObject(pOldFont);
}

luyysea 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 feilinhe 的回复:]
LZ的意思是编程实现吧,这个好像很少改,想该的话就得自己在void DrawItem(LPDRAWITEMSTRUCT lpdis)里面自绘改变字体的大小
[/Quote]
是编程实现的,不过没找到什么方法去改。
MoXiaoRab 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 luyysea 的回复:]
引用 7 楼 tr0j4n 的回复:
PopupMenu同样需要自绘,记住

PopupMenu我还没加,先用上一个函数测试了下顶级菜单,没有反应。
把DrawItem函数里的语句放到一个按钮响应函数里面,报错。
这是为什么呢?
[/Quote]
DrawItem函数里的语句放到一个按钮响应函数里面????????囧

牛头不对马嘴。。。。这个是写在你派生的菜单类里面的啊
luyysea 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tr0j4n 的回复:]
PopupMenu同样需要自绘,记住
[/Quote]
PopupMenu我还没加,先用上一个函数测试了下顶级菜单,没有反应。
把DrawItem函数里的语句放到一个按钮响应函数里面,报错。
这是为什么呢?
feilinhe 2009-10-26
  • 打赏
  • 举报
回复
LZ的意思是编程实现吧,这个好像很少改,想该的话就得自己在void DrawItem(LPDRAWITEMSTRUCT lpdis)里面自绘改变字体的大小
parrylau 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wocow3 的回复:]
桌面→显示属性→外观→高级→菜单
[/Quote]

就这方法!
wocow3 2009-10-26
  • 打赏
  • 举报
回复
桌面→显示属性→外观→高级→菜单
allenhiman 2009-10-26
  • 打赏
  • 举报
回复
没见到过直接的方法呢

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧