• <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 楊粼波 閱讀(399) 評論(0)  編輯 收藏 引用

            久久人人爽人人爽人人片AV东京热| 99久久精品国产麻豆| 亚洲国产成人久久精品动漫| 国产精品女同一区二区久久| 久久人妻少妇嫩草AV无码蜜桃 | 无码AV波多野结衣久久| 国产精品午夜久久| 伊人久久大香线蕉AV一区二区| 久久香蕉国产线看观看99| 亚洲av成人无码久久精品 | 国产精品无码久久久久| 日本精品久久久久影院日本| 日韩精品国产自在久久现线拍| 久久精品国产亚洲av瑜伽| 9191精品国产免费久久| 久久久久久久波多野结衣高潮| 久久精品一区二区三区不卡| 亚洲欧美成人综合久久久| segui久久国产精品| 精品人妻久久久久久888| 久久国产精品99精品国产| 人妻久久久一区二区三区| 久久久久久国产精品无码下载 | 久久免费精品视频| 漂亮人妻被黑人久久精品| 亚洲精品高清一二区久久| 久久国产影院| 99久久精品免费看国产免费| 久久精品国产亚洲av麻豆小说| 久久久久久久久久久久久久 | 久久久青草青青国产亚洲免观| 91久久精品91久久性色| 无码国内精品久久人妻蜜桃| 国产69精品久久久久APP下载| 2021国内精品久久久久久影院| 国内精品伊人久久久久影院对白| 久久中文字幕精品| 亚洲午夜无码久久久久| 成人妇女免费播放久久久| 人妻精品久久无码专区精东影业| 日产精品久久久久久久性色|