只要稍微了解HGE的人都是知道的,如果在HGE中設(shè)置了父窗口,則HGE的渲染窗口作為傳入的父窗口的子窗口存在的。如果要嵌入到MFC的窗口中,就需要這樣做。
不過,奇怪的是,消息處理回調(diào)函數(shù)無法收到窗口消息,在System_Initiate()中注冊(cè)窗口類的時(shí)候,是有設(shè)置父窗口的句柄的。但是,現(xiàn)在是沒有接受到窗口消息,那很顯然的事情就是,父窗口設(shè)置是失敗的。
后來,我查了下資料,WS_POPUP風(fēng)格的窗口默認(rèn)父窗口是為空的,除非用::SetParent去特意設(shè)置。后面我嘗試著在CreateWindowEx方法后調(diào)用該方法:
::SetParent(hWnd, hWndParent);
結(jié)果證明我的猜測是對(duì)的,能夠正常接收到窗口消息了。
另外,想要渲染窗口作為子窗口時(shí)候執(zhí)行渲染,可以使用一個(gè)多媒體定時(shí)器來驅(qū)動(dòng)渲染。同時(shí)還可以獲得到理論上的鎖幀渲染的效果。這樣可以滿足基本需求。