关于XTToolkitPro中DialogPanes无法响应OnDockingPaneNotify事件的解决办法。
2012-03-06 13:27
316 查看
由于项目需要用到Xtreme ToolkitPro 2008 Vol 2 (12.1.1)中的Pane,即类似IDE里的面板。
看了套件自带的DialogPanes实例,于是自己建立一个对话框的工程进行测试,但发现就是创建不出来。
开发环境:WindowsXP + VC6 + Xtreme ToolkitPro 2008 Vol 2 (12.1.1)
出现问题:
在对话框的OnInitDialog事件中建立pane,但是系统不调用 OnDockingPaneNotify 事件,界面上也不显示面板。
搜索了下网络,其中一个有价值的帖子是说由于建立面板的ID号与程序中的菜单ID重复,而又有响应菜单的OnCommand函数,所以
不调用OnDockingPaneNotify,更改ID号后解决。
但我自己检查了后发现我的ID并没有重复,所以排除了,仔细查看组件自带的例子,发现它死活就是能出来,而我的就是不行。。。
最后又建立了一个工程,照着一份份代码粘贴,发现我的工程一摸一样,就是少了个OnSize事件。
后来也添加了该事件,把例子的代码复制过去竟然OK了。最后才发现界面必须有OnSize事件响应,
而且在事件里必须有下列代码:
void CPaneDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// 必须有下列代码
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, 0, 0, &rcClient);
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &rcClient, &rcClient);
}
症结:OnSize事件中重新定位各个控制条,此时才会触发OnDockingPaneNotify事件。
看了套件自带的DialogPanes实例,于是自己建立一个对话框的工程进行测试,但发现就是创建不出来。
开发环境:WindowsXP + VC6 + Xtreme ToolkitPro 2008 Vol 2 (12.1.1)
出现问题:
在对话框的OnInitDialog事件中建立pane,但是系统不调用 OnDockingPaneNotify 事件,界面上也不显示面板。
搜索了下网络,其中一个有价值的帖子是说由于建立面板的ID号与程序中的菜单ID重复,而又有响应菜单的OnCommand函数,所以
不调用OnDockingPaneNotify,更改ID号后解决。
但我自己检查了后发现我的ID并没有重复,所以排除了,仔细查看组件自带的例子,发现它死活就是能出来,而我的就是不行。。。
最后又建立了一个工程,照着一份份代码粘贴,发现我的工程一摸一样,就是少了个OnSize事件。
后来也添加了该事件,把例子的代码复制过去竟然OK了。最后才发现界面必须有OnSize事件响应,
而且在事件里必须有下列代码:
void CPaneDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// 必须有下列代码
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, 0, 0, &rcClient);
RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &rcClient, &rcClient);
}
症结:OnSize事件中重新定位各个控制条,此时才会触发OnDockingPaneNotify事件。
相关文章推荐
- 关于XTToolkitPro中DialogPanes无法响应OnDockingPaneNotify事件的解决办法
- UIScrollView无法响应touch事件的解决办法
- 关于wxPython中的TextCtrl响应失去焦点事件后不能再次编辑或出现不正常现象的解决办法
- 网页脚本中无法响应ATL事件的解决办法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- 关于UIScrollView不能响应UITouch事件的解决办法
- 页面加UIPanGestureRecognizer手势后,无法响应tableViewCell点击事件的解决办法
- 关于PopupWindow中加入ListView后其它组件无法响应解决办法(转)
- Gridview Row事件响应方法无法获取其它UpdatePanel中控件数据的解决办法
- 页面加UIPanGestureRecognizer手势后,无法响应tableViewCell点击事件的解决办法
- 进行animation时点击事件无法响应的解决办法(animation进行时默认是禁止交互)
- UIScrollView无法响应touch事件的解决办法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- cocos2d-x 3.x 关于cocostudio的UI将事件吃掉,场景Layer无法响应手势的问题解决方法
- 关于UIScrollview不能响应touch事件的解决办法
- 『IOS』UIScrollView无法响应touch事件的解决办法
- 关于UIScrollView不能响应UITouch事件的解决办法
- [MFC] 无法响应OnMouseLeave事件的若干种解决办法
- 关于UIScrollView不能响应UITouch事件的解决办法
- 关于UIScrollView不能响应UITouch事件的解决办法