ocx控件难题 ? 高手求解

messagebox 2006-08-14 11:00:47
在主对话框上放置一个ocx, 点击主对话框上的一个按钮,让它弹出一个子对话框, 这时把ocx的父窗口(SetParent)改为子对话框,ocx可以正确显示在子对话框上.
问题是:当我在子对话框上点击一下ocx时,它会自动跑回主对话框。求教高手,此题何解?我从网上随便下载一个ocx,发现也同样出现此问题
...全文
210 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
palmax 2006-08-16
  • 打赏
  • 举报
回复
那你就在弹出子对话框的时候动态创建那个ocx
(别说你只会从工具箱里拖放控件到对话框上-_-b)
palmax 2006-08-16
  • 打赏
  • 举报
回复
在主对话框上放置一个ocx, 点击主对话框上的一个按钮,让它弹出一个子对话框, 这时把ocx的父窗口(SetParent)改为子对话框,ocx可以正确显示在子对话框上.
-------------------------------------------------------------------------------
你想做什么?
两个对话框的关于控件的一些设置总是可以用变量来传递的,你只要做到同步就可以了
messagebox 2006-08-16
  • 打赏
  • 举报
回复
to wwwllg(野蛮人) : 是啊,还没找到解决之道。我发现让它回到子窗口,然后再次设到子对话框,它就不会回去了.但只有手动才行,通过SendMessage发送点击消息给ocx还是不行
messagebox 2006-08-16
  • 打赏
  • 举报
回复
to palmax(南宫煌) : 可以动态创建到子对话框,但这不能解决我的问题
UDX协议 2006-08-16
  • 打赏
  • 举报
回复
问题是,你原来的对话框,关联了一些com组件的事件.比如click之类。

容器窗器付责控件的位子,事件的传递,有的甚至包括重画。

你只改变父窗口是远远不够的。不象一般的窗口。
messagebox 2006-08-15
  • 打赏
  • 举报
回复
子窗口也是一个对话框,可以容纳ocx控件,问题不在这
messagebox 2006-08-15
  • 打赏
  • 举报
回复
子窗口也是一个对话框,可能容纳ocx控件,问题不在这
UDX协议 2006-08-15
  • 打赏
  • 举报
回复
你的对话框是控件的容器,你应该把容器一起搬走才行。
你的子窗口不是容器,他是不能容纳控件的。
messagebox 2006-08-14
  • 打赏
  • 举报
回复
no,我的应用要求ocx暂时出现在子对话框,在子对话框做一些设置后回到主对话框
syy64 2006-08-14
  • 打赏
  • 举报
回复
加载OCX时,应该加在子对话框的模版上。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧