截至目前,我正在使用以下代码来调整我的CStatic
控件的大小:
WINDOWPLACEMENT wndpl;
m_myStaticControl.GetWindowPlacement(&wndpl);
// Increase the static box's width
wndpl.rcNormalPosition.right += 10;
m_myStaticControl.SetWindowPlacement(&wndpl);
m_myStaticControl.SetWindowText("Some text");
我通过反复试验获得常数(在上述情况下为10)。因为这似乎是一个非常不优雅且难以维护的解决方案,我想改变它。经过一番研究,我认为我有一个基本的想法;这是:
GetTextExtentPoint32
获取所需文字的像素宽度和高度。CStatic
控件的当前窗口位置,如上面的代码示例所示。这是一种好的,有效的方法吗?此外,GetTextExtentPoint32
是否使用像素或对话框?