关于HGE渲染窗口作为子窗口时无法得到窗口消息的问题以及解决办法

只要稍微了解HGE的人都是知道的,如果在HGE中设置了父窗口,则HGE的渲染窗口作为传入的父窗口的子窗口存在的。如果要嵌入到MFC的窗口中,就需要这样做。
不过,奇怪的是,消息处理回调函数无法收到窗口消息,在System_Initiate()中注册窗口类的时候,是有设置父窗口的句柄的。但是,现在是没有接受到窗口消息,那很显然的事情就是,父窗口设置是失败的。
后来,我查了下资料,WS_POPUP风格的窗口默认父窗口是为空的,除非用::SetParent去特意设置。后面我尝试着在CreateWindowEx方法后调用该方法:

::SetParent(hWnd, hWndParent);
结果证明我的猜测是对的,能够正常接收到窗口消息了。

另外,想要渲染窗口作为子窗口时候执行渲染,可以使用一个多媒体定时器来驱动渲染。同时还可以获得到理论上的锁帧渲染的效果。这样可以满足基本需求。

时间: 2024-09-08 23:15:00

关于HGE渲染窗口作为子窗口时无法得到窗口消息的问题以及解决办法的相关文章

win8 远程桌面时提示凭证不工作问题的终极解决办法

原文 win8 远程桌面时提示凭证不工作问题的终极解决办法 环境说明 远程办公电脑(放置于公司.自用办公电脑.win8系统) 远程连接客户机(放置于家中.家庭日常所用.win8系统) 故障现象      最近在使用远程桌面连接公司的办公电脑时,突然发现win8系统总是无法连接成功,提示"你的凭证不工作",使用其他人的win7的连接也是出现这个问题.      有问题上百度,可百度好久发现千篇一律的做法基本如下所示      一,策略修改法,    1.在"开始"窗口

小米1s充电时屏幕一直亮着不关闭的解决办法

小米1s充电时屏幕一直亮着不关闭,经常把充电器插进去后忘记锁屏,结果发现时,屏幕好热的说.   解决办法   ---设置--开发人员选项--保持唤醒状态(把勾去掉)   ok啦

QQ安装时显示路径无效问题怎么办 路径无效解决办法

步骤1.如果说们是把QQ安装在电脑的 C:Program Files文件夹下,而我们C盘又没有权限,可以尝试安装到 D:Program Files,就可以继续安装了. 步骤2.我们C盘的格式不对了,就是C盘磁盘类型是FAT32的,这样QQ是无法安装了,所以我们如果硬要安装在C盘就知心朋友把C盘转换成NTFS格式了,我们现在可以:打开CMD窗口,输入:convert c:/fs:ntfs后回车,按照提示按"Y"键,就是允许的意思.之后再重启电脑后,就可以进行安装了. 三,如果你还是无法安

shell脚本中执行时提示“没有那个文件或目录”的解决办法_linux shell

出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不Set一下又完全看不出来. 问题分析:1.将windows 下编写好的SHELL文件,传到linux下执行,提示出错.2.出错信息:bad interpreter: 没有那个文件或目录. 问题原因:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符.脚本文件是DOS格式

CentOS Linux时出现GPT分区不能引导错误的解决办法

安装系统:CentOS 5.9_64bit时,分区后, 提示如下错误. 解决方法: 1.按ctrl+alt+F2 进入命令行 2.先查看分区 sh #fdisk -l 以下假设分区是/dev/sda 3.修改标签 (parted) select /dev/sda (parted) mklabel                 //提示默认是gpt,输入msdos,回车 (parted) print                       //查看到msdos,就说明成功了 (parted)

dialog dismiss时键盘不消失的问题浅析及解决办法

当setCanceledOnTouchOutside(true),点击阴影处,dialog dismiss时键盘不消失的问题. 如图 一开始觉得很简单,监听下onDimiss()方法,在里面隐藏键盘不就行了. 但是发现大多数手机都不会隐藏(魅族x4会隐藏). 这是为什么呢?为什么键盘不消失呢? 经过测试,发现edittext.getWindowToken()为null. /** * 关闭键盘 * * @param context * @param et */ public static void

@PathVariable出现点号"."时导致路径参数截断获取不全的解决办法

1.问题 SpringMVC项目中通过下面的URL进行GET请求.当version有多个小数点的时候.如version为1.0.1008.后台通过@PathVariable来获取version等于1.0.会丢失部分数据. URL: http://host_ip/consumer/appVersion/phone/android/download/{version} Controller: @RequestMapping(value="android/download/{version}"

Windows 7及Win 2008 添加设备时,正在搜索设备无响应的解决办法

问题的发现:前几天做实验,准备在Windows 7的网络设备添加一块Microsoft Loopback Adapter虚拟网卡,进入[添加设备]的时候,发现一直停留在[正在搜索设备... 请确保可以检测您的设备] 很久都没什么反应. 并且我的笔记本和台式机都一样有这个问题.系统都是正版的Windows7专业版,系统其他应用都正常.既然Windows7不能添加虚拟网卡,那就改在Server 2008 上做实验吧,于是远程桌面我的一台服务器,打开[添加设备],发现了同样的问题.如下图所示: Win

MyBatis启动时控制台无限输出日志的原因及解决办法_java

你是否遇到过下面的情况,控制台无限的输出下面的日志: Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter. Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter. Logging initialized using 'class org.apache.ibatis.lo