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