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

            久久精品国产亚洲AV影院| 午夜不卡久久精品无码免费| 丁香五月网久久综合| 久久r热这里有精品视频| 久久久精品久久久久久 | 99久久国产精品免费一区二区| 久久强奷乱码老熟女网站| 久久国产高潮流白浆免费观看| 久久精品成人免费国产片小草| 精品国产乱码久久久久软件| 亚洲一区中文字幕久久| 亚洲人成电影网站久久| 色综合久久中文色婷婷| 久久精品国产日本波多野结衣| 青青草国产精品久久久久| 亚洲欧洲久久久精品| 久久精品国产精品青草| 久久婷婷国产剧情内射白浆| 久久国产精品波多野结衣AV| 三上悠亚久久精品| 久久天天躁狠狠躁夜夜躁2014| 久久亚洲国产午夜精品理论片| 久久精品麻豆日日躁夜夜躁| 久久综合精品国产一区二区三区| 国产成人综合久久综合| 亚洲成色www久久网站夜月| 久久久免费观成人影院| 久久综合久久久| 久久精品一区二区国产| 天天爽天天狠久久久综合麻豆| 三级三级久久三级久久| 老司机午夜网站国内精品久久久久久久久| 久久久久人妻精品一区二区三区| 亚洲国产高清精品线久久 | 久久精品国产只有精品2020| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 久久精品国产欧美日韩| 国产精品嫩草影院久久| 久久99国产精品成人欧美| 亚洲综合精品香蕉久久网97| 久久精品国产一区|