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

            精品久久久久中文字幕日本| 国产精品99久久免费观看| 国产精品无码久久久久| 久久精品国产99久久香蕉| 日本欧美国产精品第一页久久| 日韩人妻无码一区二区三区久久99| 中文无码久久精品| 国产精品一区二区久久国产| 久久精品成人免费国产片小草| 国产色综合久久无码有码| 久久综合偷偷噜噜噜色| 色综合久久无码中文字幕| 久久精品蜜芽亚洲国产AV| 久久久亚洲精品蜜桃臀| 人妻少妇久久中文字幕| 少妇被又大又粗又爽毛片久久黑人 | 亚洲精品国精品久久99热一| 精品熟女少妇AV免费久久| 狠狠久久亚洲欧美专区 | 国产精品伊人久久伊人电影 | 漂亮人妻被中出中文字幕久久| 香蕉久久夜色精品国产2020| 久久久久亚洲av无码专区导航 | 久久国产香蕉视频| 色综合久久无码中文字幕| 亚洲伊人久久综合中文成人网| 97久久国产亚洲精品超碰热| 亚洲国产精品无码久久青草 | 久久这里只有精品首页| 国产香蕉97碰碰久久人人| AV狠狠色丁香婷婷综合久久| 精品国产一区二区三区久久蜜臀| 国产91色综合久久免费| 久久99热这里只有精品国产| 精品久久久久久久中文字幕| 国产69精品久久久久99尤物| 国产韩国精品一区二区三区久久| 久久久久亚洲AV无码永不| 久久精品国产亚洲av麻豆蜜芽 | 亚洲狠狠婷婷综合久久久久| 久久久久久久综合综合狠狠|