如题、作一个大小需要根据显示的文字内容而改变的对话框、
文字是一个CStatic控件、可能是英文、中文等有多种情况
85+10*5.5:主要是这里、85是除CStatic外的合适长度、5.5是自己测试过来的大约一个字符的长度、
一个中文按两个字符的长度算、但实际显示上长度计算还是不准、请问有什么更科学的方法?------------------------------------------------------------
m_dlgTip = new FDlgTooltip(this);
m_dlgTip->setValue(_T("1234567890"));
m_dlgTip->Create(IDD_DIALOG_TIP, theApp.m_pMainWnd);
m_dlgTip->SetWindowPos(theApp.m_pMainWnd,pos.x-5,pos.y-5,85+10*5.5,60,0);
m_dlgTip->ShowWindow(SW_SHOW);
文字是一个CStatic控件、可能是英文、中文等有多种情况
85+10*5.5:主要是这里、85是除CStatic外的合适长度、5.5是自己测试过来的大约一个字符的长度、
一个中文按两个字符的长度算、但实际显示上长度计算还是不准、请问有什么更科学的方法?------------------------------------------------------------
m_dlgTip = new FDlgTooltip(this);
m_dlgTip->setValue(_T("1234567890"));
m_dlgTip->Create(IDD_DIALOG_TIP, theApp.m_pMainWnd);
m_dlgTip->SetWindowPos(theApp.m_pMainWnd,pos.x-5,pos.y-5,85+10*5.5,60,0);
m_dlgTip->ShowWindow(SW_SHOW);
解决方案 »
- opencv怎么处理图像的非线性变化
- CRichEditCtrl 滚动条消失
- 如何得到CTreeCtrl的当前所在层?急急!!
- 已经完成,谢谢winphoenix
- 请教:在读完一个.txt文件后为什么读取ini文件会失败?详请见内。谢谢。
- 字体对话框
- 急问:bmp文件打印问题,100分,主要是看不懂msdn diblook里的一些地方
- 调查:vc++程序员的详细资料,学vc是否真的很有前途
- sql server中的外键如何定义 急
- 一个客户端连接多个服务器?
- 请问如何用MFC做一个对话框A,点击A的按钮关闭对话框A然后弹出对话框B?
- 高分求解答:CreateWaitableTimer 为什么总是未定义?
GetTextExtent
GetTextExtent
GetTextExtent
GetTextExtent
GetTextExtent
GetTextExtent
GetTextExtent
GetTextExtent
这个函数搞定你的问题
CDC* hdc = new CDC(); // 设备描述表句柄
hdc->CreateCompatibleDC(NULL);
hdc->SelectObject(GetListCtrl().GetFont());
CSize size1 = hdc->GetTextExtent(type);
CSize size2 = hdc->GetTextExtent(src);
CSize size3 = hdc->GetTextExtent(dest);
delete(hdc);