• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            HGE in a child window

            Running HGE in a child window hosted by a Windows application may be useful to create authoring tools and ActiveX controls or to integrate HGE into a third party IDE. Here follow the guidelines how to do that.

            Creating HGE window as a child

            To run HGE in a child window mode you should just specify the parent window handle. To do this set HGE_HWNDPARENT system state before calling to System_Initiate:

            hge->System_SetState(HGE_HWNDPARENT, hwnd);
            

            Mouse cursor

            You may prefer HGE to use standard Windows cursor while in child window mode. This can be done by setting HGE_HIDEMOUSE system state to false:

            hge->System_SetState(HGE_HIDEMOUSE, false);
            

            Dispatching application's messages and running Frame Function

            To provide additional flexibility System_Start behaves a bit differently in child window mode. First, it returns after just one call to user's frame function regardless of the value returned by it. Second, it doesn't dispatch window messages. So you should set up your own message processing loop. Here's the simpliest loop enough to run HGE properly:

            for(;;)
            {
              if(hge->System_GetState(HGE_HWND))
                hge->System_Start();
            
              if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
              { 
                if(msg.message == WM_QUIT) break;
                DispatchMessage(&msg);
              }
            }
            

            Moving and resizing HGE window

            You can move and resize HGE window with WinAPI functions like MoveWindow. When it's window resized, HGE will reinitiate DirectX to meet new window dimensions:

            MoveWindow(hge->System_GetState(HGE_HWND),
                       x, y, width, height, true);
            

            Destroying HGE window

            HGE has lots of resources associated with it's window. So you should use System_Shutdown call to free them, don't rely on just destroying the window. The good place to do this is WM_DESTROY handler of the parent window:

            case WM_DESTROY:
                FreeLoadedHGEResources();
                hge->System_Shutdown();
                PostQuitMessage(0);
                return FALSE;
            

            Child window mode limitations

            1. To accept keyboard events in child window mode HGE window must have input focus. It gains focus automatically when you click somewhere inside. Use the following call to set the focus explicitly:

            SetFocus(hge->System_GetState(HGE_HWND));
            

            2. Switching into fullscreen is unavailable when running in child window mode. Regardless of HGE_WINDOWED system state HGE will run in a window.

            posted on 2007-03-08 13:25 楊粼波 閱讀(393) 評論(0)  編輯 收藏 引用

            精品久久久无码人妻中文字幕 | 久久久久久亚洲精品不卡 | 精品国产99久久久久久麻豆| 久久精品国产日本波多野结衣| 国产V综合V亚洲欧美久久| 精品久久久久久无码中文野结衣| 久久午夜无码鲁丝片午夜精品| 欧美喷潮久久久XXXXx| 久久本道久久综合伊人| 久久精品人人做人人爽电影| 伊人久久综合热线大杳蕉下载| 久久天天婷婷五月俺也去| 国产成人AV综合久久| 狼狼综合久久久久综合网| 久久国产美女免费观看精品| 97久久超碰成人精品网站| 免费久久人人爽人人爽av| 久久最新精品国产| 日本欧美久久久久免费播放网| 久久99热这里只有精品国产| 久久99国产综合精品免费| 伊人久久大香线蕉无码麻豆| 国产A级毛片久久久精品毛片| 99麻豆久久久国产精品免费| 亚洲中文字幕无码久久2020| 四虎影视久久久免费| 久久99精品国产99久久6| jizzjizz国产精品久久| 久久亚洲私人国产精品| 久久99精品国产麻豆宅宅| 中文成人久久久久影院免费观看| 久久99精品国产麻豆婷婷| 精品综合久久久久久97超人| 久久婷婷激情综合色综合俺也去| 伊人久久大香线蕉av不卡| 亚洲中文字幕无码久久2017| 2020久久精品亚洲热综合一本| 欧美亚洲国产精品久久高清| 伊人久久精品无码av一区| 久久亚洲精品人成综合网| AAA级久久久精品无码片|