我爱Aspx >> VC.Net >> <b>根据文本串的长度改变窗口的大小</b>
提出问题:
根据文本文件的内容,用CWin的子类对控制进行动态创建。在Create方法中,根据用户在显示属性对话框中选择的消息文本字体,用下列代码创建所有的控制:
NONCLIENTMETRICS ncm;
ncm.cbSize = sizeof(NONCLIENTMETRICS);
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0);
m_DefaultFont.CreateFontIndirect(&ncm.lfMessageFont);
获得字体以后,接下来的问题是如何才能确定静态控制的高度与宽度以便显示完整的文本?
首先应该明确的是所谓显示属性对话框即在桌面单击右键,选择“属性”菜单项,再选择“外观”属性页出现的对话框(图一)。
用户可以在这个对话框中选择活动窗口、消息框以及文字的颜色和字体。你可以调用SystemParametersInfo函数,用SPI_GETNONCLIENTMETRICS作为第一个参数来查出用户选择了什么字体;SystemParametersInfo 函数将你需要的信息填写到NONCLIENTMETRICS 结构中:
// NONCLIENTMETRICS 结构(winuser.h)
//
struct NONCLIENTMETRICS
{
UINT cbSize;
int iBorderWidth;
int iScrollWidth;
int iScrollHeight;
int iCaptionWidth;
【我对这篇文章有话说?】
<b>VC控件 TreeCtrl 与 Li..[05-21]
<b>如何隐藏显示在任务栏中..[05-21]
<b>利用WinSock进行无连接..[05-21]
<b>在ATL Browser Helper对..[05-21]
<b>在VC下显示JPEG、GIF格..[05-21]
<b>Visual C++中基于多文档..[05-21]
<b>消息钩子函数入门篇<..[05-21]
<b>平台+插件软件设计思想..[05-21]
<b>如何在VC中改变控件的背..[05-21]
<b>用Visual C++实现带阴影..[05-21]