VC++ 超级简单问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 08:21:41
1.函数onsize()与onsizing()区别。
2.在picture 控件中完全的显示一副位图,当控件变大时,位图也整体变大,控件变小位图也整体变小(要类似stretchBlt的效果)。
感谢大家的回答,第一个问题我知道了,现在我急切想知道第二个问题的答案。拜托谢谢~~

OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(cx和cy指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了

你可图像按控件大小变化的话可以响应OnSizing(如果是给用户自己改变大小的话)
=========================
第二个问题我不是说了嘛,你可以在OnSizing里进行StretchBlt操作

它们都是CWnd类的成员函数.
OnSize()在窗口尺寸修改后被框架函数调用,函数原型是:
afx_msg void OnSize(
UINT nType,
int cx,
int cy
);
参数nType取值为SIZE_MAXIMIZED等定义好的宏,cx,cy,为客户区新的宽度和高度.

框架函数调用OnSizing()来指明用户正在恢复矩形到所要求的尺寸,函数原型为:
afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect
);
参数nSide为窗口将要移动到的边缘,lpRect为矩形变量的指针.

第二个问题暂时没时间研究,不好意思.

虽然我并不知道答案,但建议你吧分提高一点【我没学图形类呢!】

afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect
);

Parameters
nSide
被移动的窗口边

lpRect
一个矩形结构,保护了被移动到坐标

Remarks

通过处理这个消息,应用程序可以监视拖放矩形的位置和大小,如果有必要你可以在这里改变那个大小和位置。

对我来说很难哦!