龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC中自动改变控件位置和大小的对话框类(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
对两张截图的比较我们可以很容易的理解上面那段代码。 我还提供了一个函数: void ShowSizeIcon(BOOL bShow = TRUE); 来设置是否显示对话框右下角表示可以改变

  对两张截图的比较我们可以很容易的理解上面那段代码。

  我还提供了一个函数:

void ShowSizeIcon(BOOL bShow = TRUE);


  来设置是否显示对话框右下角表示可以改变大小的图标。这个图标是从系统中读取的,我上面的截图是Windows2000下的,在WindowsXP中就会自动变成XP风格的。

 好了,闲话不多说了,下面贴出该对话框类ClxDialog的源代码,里面有详细的注释:

lxDialog.h文件:

/////////////////////////////////////////////////////////////////////////////////////
// 自动改变控件位置和大小的对话框类
// 文件名:lxDialog.h
// 作者:StarLee(coolstarlee@sohu.com)
/////////////////////////////////////////////////////////////////////////////////////

class ClxDialog : public CDialog
{
public:
ClxDialog(UINT nID, CWnd* pParent = NULL);

typedef struct _dlgControlTag
{
 int iId;
 int iFlag;
 int iPercent;
} DLGCTLINFO, *PDLGCTLINFO;

enum
{
 MOVEX = 0,
 MOVEY,
 MOVEXY,
 ELASTICX,
 ELASTICY,
 ELASTICXY
};

// 设置控件信息
BOOL SetControlProperty(PDLGCTLINFO lp, int nElements);

// 是否在对话框右下角显示表示可改变大小的图标
void ShowSizeIcon(BOOL bShow = TRUE);

protected:
 virtual BOOL OnInitDialog();
 afx_msg void OnSize(UINT nType, int cx, int cy);
 afx_msg void OnSizing(UINT nSide, LPRECT lpRect);
 DECLARE_MESSAGE_MAP()

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接