RingSDK帮助
RingOFNHookDialog::GetHookProc
作者:临风 e-mail:
ringphone@sina.com
版本 0.1
头文件
ringdowbase.h
返回
获取系统文件选择对话框的HOOK过程函数指针
LPOFNHOOKPROC RingOFNHookDialog::GetHookProc
(
)
[inline]
参数
无
返回
系统文件选择对话框的HOOK过程函数指针。详细请参考MSDN的Explorer-Style Hook Procedures说明。
备注
该HOOK过程函数指针是作为
ringFile::Select
的参数,以使对象关联的对话框能作为子窗口显示在系统文件选择对话框。
该HOOK过程函数会子类化与对象关联的对话框和系统文件选择对话框,之后关联的对话框的窗口过程会被
RingdowProc
替代,把窗口消息派发到用户定义的消息处理函数。
用户操作系统文件选择对话框时会产生一些通知消息,这些通知消息请参考MSDN的Common Dialog Box Messages中CDN开头的消息。
系统文件选择对话框显示对象关联的对话框时默认是显示在对话框下方,而一般要求是显示在右方。如果想显示在右方,应该处理CDN_INITDONE通知消息,调用::GetParent(m_hWnd)获取系统文件选择对话框句柄,SetWindowPos改变其尺寸,然后把自己位置移动到对话框右方。应该记录自己所占区域的宽高尺寸,之后用户调整系统文件选择对话框的尺寸时响应WM_SIZE消息(系统不会发送该消息,该消息是由子类化的系统文件选择对话框的窗口过程发送,其特征为wParam和lParam参数值均为0),在该消息中根据父窗口尺寸把自己移动到合适位置。
头文件
ringdowbase.h
返回