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

            老色鬼久久亚洲AV综合| 久久精品国产久精国产| 91麻豆精品国产91久久久久久| 久久99热这里只有精品国产| 久久有码中文字幕| 久久伊人亚洲AV无码网站| 香港aa三级久久三级| 久久人人爽爽爽人久久久| 久久午夜伦鲁片免费无码| 无码人妻久久久一区二区三区| 色狠狠久久综合网| 久久人做人爽一区二区三区| 久久综合久久性久99毛片| 亚洲欧美成人久久综合中文网| 欧美粉嫩小泬久久久久久久| 亚洲七七久久精品中文国产| 久久精品国产色蜜蜜麻豆| 亚洲综合熟女久久久30p| 99久久精品国产一区二区 | 亚洲国产精品一区二区久久hs| 四虎国产精品成人免费久久| 性欧美大战久久久久久久| 欧美亚洲国产精品久久| 中文字幕乱码人妻无码久久| 精品久久久久久亚洲精品| 午夜不卡888久久| 99精品国产综合久久久久五月天 | 人妻少妇久久中文字幕| 精品999久久久久久中文字幕| 激情五月综合综合久久69| 尹人香蕉久久99天天拍| 国产精品久久久久久福利漫画| 精品国产一区二区三区久久蜜臀| 久久精品国产欧美日韩99热| 午夜不卡久久精品无码免费| 国产精品日韩欧美久久综合| 国产亚洲美女精品久久久2020| 国产精品狼人久久久久影院 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 精品久久一区二区| 久久久久久久91精品免费观看|