VC弹出窗口问题(Create(UINT, CWnd*)

web518 2006-11-11 02:21:41


按照"菜鸟神迹之路"的资料.把于用VC把简单的在游戏中弹出窗口做出来了。
不过有些个问题需要解决。

1、在INSTALLHOOK中。使用Create(UINT,CWnd*)建立了目标窗口以后,在没有调用ShowWindow之前。对窗口对象的所有操作都是非法的。但是只要使用过ShowWindow(SW_SHOW)之后。就会执行InitDialog,这个时候哪怕是执行了SW_HIDE,对窗口的操作也会正常使用的。因为一般用来进入的时候,是不会首选按热键弹出窗口的。即这个时候在没按热键之前对窗口的操作没有办法,有什么办法能让窗口Create以后同时执行InitDialog呢。

2、VC比较恶心的是TAB控件,直接用他的TAB页,所有控件都堆在一起了根本没有办法操作。而使用CPropertySheet建立的TAB页。虽然可以解决这个问题。但同时带来新的问题,当点击窗口上的对象的时候。执行的是CPropertySheet的一个子对象CPropertyPage里边的。如果要对父窗口操作(及实际的主窗口,所有数据都以这为主),我试了用GetSafeOwner()->m_xxx,他不认,我自定义的那些成员。

3、使用Create的时候目标游戏窗口必须是当前窗口。才能通过CWnd::GetForegroundWindow()获到CWnd*指针,其实这个时候咱们已经知道了目标窗口的HWND,我查了一下MSDN,查到可以用FromHandle将HWND转成CWnd*,但实际使用的时候,却会使目标游戏窗口非法操作关闭!

...全文
487 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
web518 2007-03-31
  • 打赏
  • 举报
回复
顶起来!!!!
helanshan 2006-11-11
  • 打赏
  • 举报
回复
建议到VC版块问一下...

15,976

社区成员

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

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