关于OnDoRealize(WPARAM wParam,LPARAM lParam)函数
在View中有这样一个函数:
afx_msg LRESULT OnDoRealize(WPARAM wParam, LPARAM lParam);
// user messag
该函数的声明是发灰的,
函数功能:实现系统调色板,是视类中处理自定义消息WM_DOREALIZE(该消息在主框架窗口定义如下:#define WM_REALIZEPAL (WM_USER+100))
在调用API函数时,要设置逻辑调色板的,否则图像不能显示.
该函数的两个参数说明消息类别及属性,一般自定义消息都要用到,很多情况下需要靠这两个参数来传递消息的属性.
虽然在头文件中有afx_msg,但在.cpp文件中没有象其它消息映射函数一样出现在BEGIN_MESSAGE_MAP中.
选择调色板到主框架的dc中,并实现此调色板(CDC:: RealizePalette())(即realize the new palette)。
WPARAM(LPARAM): 一个作为参数传到window程序或实现回传的功能的值的类型 wParam:句柄。wParam == m_hWnd (this view) 看看函数定义和调用它的地方就可以理解了: // 实现新的调色板 afx_msg LRESULT OnDoRealize(WPARAM wParam,LPARAM lParam);//user message OnDoRealize((WPARAM)m_hWnd,0); void CCh1_1View::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) { CScrollView::OnActivateView(bActivate, pActivateView, pDeactiveView); if (bActivate) { ASSERT(pActivateView == this); OnDoRealize((WPARAM)m_hWnd, 0); // same as SendMessage(WM_DOREALIZE); } //CScrollView::OnActivateView(bActivate, pActivateView, pDeactiveView); }
|