• <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)  編輯 收藏 引用

            72种姿势欧美久久久久大黄蕉 | 色综合久久久久无码专区 | 亚洲精品tv久久久久久久久| 久久久久波多野结衣高潮| 久久婷婷五月综合国产尤物app| 久久99精品国产麻豆宅宅| 久久影视综合亚洲| 久久亚洲精品成人AV| 亚洲国产香蕉人人爽成AV片久久| 久久久婷婷五月亚洲97号色| 久久99久久无码毛片一区二区| 亚洲AV无一区二区三区久久| 久久一区二区三区99| 久久亚洲高清观看| 久久亚洲精品国产精品| 久久久久久免费视频| 久久久久亚洲AV成人网| 91精品国产乱码久久久久久| 午夜精品久久久久久中宇| 色天使久久综合网天天| 国产成人精品综合久久久| 国产精品一久久香蕉国产线看观看| 久久久久亚洲精品中文字幕| 色妞色综合久久夜夜| 久久人做人爽一区二区三区 | 亚洲欧美成人综合久久久| 久久久久亚洲AV成人网| 久久99精品久久久久久齐齐| 久久亚洲高清观看| 99久久精品九九亚洲精品| 久久久久99精品成人片欧美| 亚洲国产欧洲综合997久久| 色青青草原桃花久久综合| 亚洲午夜精品久久久久久app| 午夜福利91久久福利| 日本久久中文字幕| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲伊人久久精品影院| 精产国品久久一二三产区区别| 久久嫩草影院免费看夜色| 无码任你躁久久久久久老妇|