我要在菜单的右边写字,如何下手? 我用GetWindowDC应该可以获得菜单的DC但是在哪个函数里Get呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在菜单旁边写字我已经搞定了void CMainFrame::SetStrMenu(CString str){ CDC* pDC = GetWindowDC(); pDC->TextOut(300,3,str);//这里的int x 没办法确定啊!!!!int y倒是好解决加上SM_CYCAPTION就成... ReleaseDC(pDC);}TextOut的第一个参数int x应该是菜单的最右边,我不知道怎样获取菜单的右边坐标哪位大侠指点?另外,我频繁的(一秒中一次)调用上面SetStrMenu函数反复的GetDC、ReleaseDC对程序、资源上有没有影响?有更好的解决办法么?(把DC存成全局变量可以么?) 获得整个区域的Rect,右边不跟菜单差不多??? CDC::GetOutputTextExtent 得到你想要输出的字符串的长度调用::GetWindowRect()得到窗口的宽度 然后窗口的宽度减去你字符串的长度就是x了 void CMainFrame::SetStrMenu(CString str){ CDC* pDC = GetWindowDC(); RECT menurc; GetMenuItemRect(m_hWnd,::GetMenu(m_hWnd),5,&menurc);//当然,你要明确MENU的第5项的长度,这个肉眼看个差不多就可以 menurc.left=menurc.right; menurc.right=740; pDC->TextOut(menurc.left,3,str);//因为我的窗口连CAPTION都没有,所以int y就是3了 ReleaseDC(pDC);}大致就是这样,可能具体还需要修改,谢谢诸位! CEdit::ReplaceSel超过30000个字符时怎么处理 点击"窗口"->当前打开的文件菜单(1.文件1; 2.文件2),类似VS一样,激活跳转后,这里的所有编号文件菜单全部删除,为什么,想在关闭文件前保留菜单,如何改 如何找到网格模型的中心点? 急,谁有bmp的图像缩放源程序,256色的,谢谢。 还是数据库编程,急需高手指点!!!(我最多只能给20分了) socket广播后响应的问题 普通的窗口和对话框有什么区别? 那有使用CRichEditView2.0的资料 opencv+mfc 如果同时显示两个摄像画面? 有关自定义消息的问题 白痴问题 送分了,50!
{
CDC* pDC = GetWindowDC();
pDC->TextOut(300,3,str);//这里的int x 没办法确定啊!!!!int y倒是好解决加上SM_CYCAPTION就成... ReleaseDC(pDC);
}
TextOut的第一个参数int x应该是菜单的最右边,我不知道怎样获取菜单的右边坐标
哪位大侠指点?另外,我频繁的(一秒中一次)调用上面SetStrMenu函数反复的GetDC、ReleaseDC对程序、资源上有没有影响?有更好的解决办法么?(把DC存成全局变量可以么?)
{
CDC* pDC = GetWindowDC();
RECT menurc;
GetMenuItemRect(m_hWnd,::GetMenu(m_hWnd),5,&menurc);//当然,你要明确MENU的第5项的长度,这个肉眼看个差不多就可以
menurc.left=menurc.right;
menurc.right=740;
pDC->TextOut(menurc.left,3,str);//因为我的窗口连CAPTION都没有,所以int y就是3了
ReleaseDC(pDC);
}
大致就是这样,可能具体还需要修改,谢谢诸位!