以下是一个简单的示例:
// MyWnd.h
class MyWnd : public CWnd
{
// 声明消息映射
afx_msg void OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp);
DECLARE_MESSAGE_MAP()
};
// MyWnd.cpp
BEGIN_MESSAGE_MAP(MyWnd, CWnd)
ON_WM_NCCALCSIZE()
END_MESSAGE_MAP()
// 实现消息处理函数
void MyWnd::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS* lpncsp)
{
// 在这里处理非客户区尺寸计算事件
// bCalcValidRects 表示是否计算有效矩形,lpncsp 包含计算尺寸的参数
// 可以添加你的自定义代码
CWnd::OnNcCalcSize(bCalcValidRects, lpncsp);
}
在这个示例中,MyWnd 类继承自 CWnd,并声明了 OnNcCalcSize 方法。通过 ON_WM_NCCALCSIZE 宏,将 WM_NCCALCSIZE 消息映射到相应的处理函数。当窗口的非客户区尺寸需要被计算时,OnNcCalcSize 方法会被调用。
你可以在 OnNcCalcSize 方法中添加自定义代码,以实现在非客户区尺寸计算事件中的一些特定操作。
转载请注明出处:http://www.pingtaimeng.com/article/detail/23644/MFC/CWnd