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

            国产精品久久成人影院| 人人狠狠综合久久亚洲| 欧美黑人又粗又大久久久| 久久青青草原精品国产不卡| 国产精品无码久久四虎| 亚洲日本久久久午夜精品| 亚洲精品乱码久久久久久中文字幕| 婷婷伊人久久大香线蕉AV| 国产精品美女久久久久av爽| 久久99精品国产麻豆宅宅| 97精品国产97久久久久久免费| 思思久久精品在热线热| 97久久精品人妻人人搡人人玩| 香蕉久久永久视频| 俺来也俺去啦久久综合网| 国产欧美久久久精品影院| 久久综合综合久久97色| 久久久噜噜噜www成人网| 久久亚洲AV成人无码软件| 久久精品国产影库免费看 | 激情久久久久久久久久| 久久不见久久见免费视频7| 青春久久| 久久久久一级精品亚洲国产成人综合AV区 | 四虎国产精品成人免费久久| 99久久99这里只有免费的精品| 亚洲国产香蕉人人爽成AV片久久 | 亚洲欧美日韩精品久久亚洲区| 久久九九有精品国产23百花影院| 午夜久久久久久禁播电影| 日日狠狠久久偷偷色综合免费| 国产AV影片久久久久久| 青青草国产精品久久久久| 成人综合伊人五月婷久久| 无码超乳爆乳中文字幕久久| 少妇人妻综合久久中文字幕| 久久亚洲色一区二区三区| 色偷偷91久久综合噜噜噜噜| 深夜久久AAAAA级毛片免费看| 久久久久亚洲AV无码去区首| 性做久久久久久久久|