• <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>

            專職C++

            不能停止的腳步

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(28)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

              1 //HGE初始化
              2 bool CALL HGE_Impl::System_Initiate()
              3 {
              4     OSVERSIONINFO    os_ver;        //操作系統(tǒng)版本信息
              5     SYSTEMTIME        tm;         //系統(tǒng)時(shí)間 
              6     MEMORYSTATUS    mem_st;     //內(nèi)存狀態(tài)
              7     WNDCLASS        winclass;   
              8     int                width, height;
              9 
             10     // Log system info
             11 
             12     System_Log("HGE Started..\n");
             13 
             14     System_Log("HGE version: %X.%X", HGE_VERSION>>8, HGE_VERSION & 0xFF);
             15     GetLocalTime(&tm); //取本地時(shí)間 UTC格式,并顯示到日志中。
             16     System_Log("Date: %02d.%02d.%d, %02d:%02d:%02d\n", tm.wDay, tm.wMonth, tm.wYear, tm.wHour, tm.wMinute, tm.wSecond);
             17 
             18     System_Log("Application: %s",szWinTitle);
             19     os_ver.dwOSVersionInfoSize=sizeof(os_ver);
             20     GetVersionEx(&os_ver); //取當(dāng)前操作系統(tǒng)的版本信息
             21     System_Log("OS: Windows %ld.%ld.%ld",os_ver.dwMajorVersion,os_ver.dwMinorVersion,os_ver.dwBuildNumber);
             22 
             23     GlobalMemoryStatus(&mem_st);//取內(nèi)存狀態(tài)
             24     System_Log("Memory: %ldK total, %ldK free\n",mem_st.dwTotalPhys/1024L,mem_st.dwAvailPhys/1024L);
             25 
             26 
             27     // Register window class
             28     /**
             29         窗口樣式
             30         CS_DBLCLKS 支持雙擊消息
             31         CS_HREDRAW 水平移動(dòng)或變化時(shí)候,重畫
             32         CS_VREDRAW 垂直移動(dòng)或變化時(shí)候,重畫
             33      */
             34     winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
             35     
             36     winclass.lpfnWndProc    = WindowProc; //消息處理過(guò)程
             37     winclass.cbClsExtra        = 0;
             38     winclass.cbWndExtra        = 0;
             39     winclass.hInstance        = hInstance;
             40     winclass.hCursor        = LoadCursor(NULL, IDC_ARROW); //裝載光標(biāo)
             41     winclass.hbrBackground    = (HBRUSH)GetStockObject(BLACK_BRUSH); 
             42     winclass.lpszMenuName    = NULL; 
             43     winclass.lpszClassName    = WINDOW_CLASS_NAME;
             44     if(szIcon) winclass.hIcon = LoadIcon(hInstance, szIcon);  //裝載圖標(biāo)
             45     else winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);    //應(yīng)用程序圖標(biāo)
             46     
             47     if (!RegisterClass(&winclass)) {
             48         _PostError("Can't register window class");
             49         return false;
             50     }
             51 
             52     // Create window
             53 
             54     width=nScreenWidth + GetSystemMetrics(SM_CXFIXEDFRAME)*2;  //SM_CXFIXEDFRAME垂直邊框的寬度
             55     height=nScreenHeight + GetSystemMetrics(SM_CYFIXEDFRAME)*2 + GetSystemMetrics(SM_CYCAPTION);//SM_CYFIXEDFRAME 水平邊框與標(biāo)題的寬度
             56     //下面的定義,是使自己處于屏幕的中心
             57     //這里定義的是窗口模式顯示的樣式
             58     rectW.left=(GetSystemMetrics(SM_CXSCREEN)-width)/2;  
             59     rectW.top=(GetSystemMetrics(SM_CYSCREEN)-height)/2;
             60     rectW.right=rectW.left+width;
             61     rectW.bottom=rectW.top+height;
             62     styleW=WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_VISIBLE; //WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX;
             63     //這里定義的是全屏模式顯示的樣式
             64     rectFS.left=0;
             65     rectFS.top=0;
             66     rectFS.right=nScreenWidth;
             67     rectFS.bottom=nScreenHeight;
             68     styleFS=WS_POPUP|WS_VISIBLE; //WS_POPUP
             69     //如果存在父窗口,則定義為子窗口樣式
             70     if(hwndParent)
             71     {
             72         rectW.left=0;
             73         rectW.top=0;
             74         rectW.right=nScreenWidth;
             75         rectW.bottom=nScreenHeight;
             76         styleW=WS_CHILD|WS_VISIBLE; 
             77         bWindowed=true;
             78     }
             79 
             80     if(bWindowed) //窗口模式
             81         hwnd = CreateWindowEx(0, WINDOW_CLASS_NAME, szWinTitle, styleW,
             82                 rectW.left, rectW.top, rectW.right-rectW.left, rectW.bottom-rectW.top,
             83                 hwndParent, NULL, hInstance, NULL);
             84     else          //全屏模式
             85         hwnd = CreateWindowEx(WS_EX_TOPMOST, WINDOW_CLASS_NAME, szWinTitle, styleFS,
             86                 0000,
             87                 NULL, NULL, hInstance, NULL);
             88 
             89     if (!hwnd)  //如果創(chuàng)建失敗
             90     {
             91         _PostError("Can't create window");
             92         return false;
             93     }
             94 
             95     ShowWindow(hwnd, SW_SHOW); //顯示
             96 
             97     // Init subsystems
             98 
             99     timeBeginPeriod(1); //設(shè)置多媒體時(shí)間粒度,在這里是1毫秒
            100     Random_Seed();        //初始化隨機(jī)數(shù)種子
            101     _InitPowerStatus();
            102     _InputInit();        //輸入初始化
            103     if(!_GfxInit()) { System_Shutdown(); return false; } //D3D8初始化
            104     if(!_SoundInit()) { System_Shutdown(); return false; } //bass.dll初始化
            105 
            106     System_Log("Init done.\n");
            107 
            108     
            109     fTime=0.0f;                //HGE計(jì)時(shí)器                
            110     t0=t0fps=timeGetTime(); //幀率計(jì)時(shí)器 初始化
            111     dt=cfps=0;              //幀間計(jì)時(shí)器 初始化
            112     nFPS=0;                    //幀率 初始化
            113 
            114     // Show splash
            115 
            116 #ifdef DEMO
            117 
            118     bool            (*func)();
            119     bool            (*rfunc)();
            120     HWND            hwndTmp;
            121 
            122     if(pHGE->bDMO)
            123     {
            124         Sleep(200);
            125         func=(bool(*)())pHGE->System_GetStateFunc(HGE_FRAMEFUNC);
            126         rfunc=(bool(*)())pHGE->System_GetStateFunc(HGE_RENDERFUNC);
            127         hwndTmp=hwndParent; hwndParent=0;
            128         pHGE->System_SetStateFunc(HGE_FRAMEFUNC, DFrame);
            129         pHGE->System_SetStateFunc(HGE_RENDERFUNC, 0);
            130         DInit();
            131         pHGE->System_Start();
            132         DDone();
            133         hwndParent=hwndTmp;
            134         pHGE->System_SetStateFunc(HGE_FRAMEFUNC, func);
            135         pHGE->System_SetStateFunc(HGE_RENDERFUNC, rfunc);
            136     }
            137 
            138 #endif
            139 
            140     // Done
            141 
            142     return true;
            143 }

            posted on 2010-02-01 15:38 冬瓜 閱讀(2682) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 原創(chuàng)HGE
            国产精品久久久久久久久软件| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久久亚洲精品蜜桃臀| 国产精品一区二区久久国产 | 久久九九精品99国产精品| 欧美与黑人午夜性猛交久久久| 亚洲国产精品久久久久婷婷老年| 99精品久久精品一区二区| 99久久久国产精品免费无卡顿| 日韩乱码人妻无码中文字幕久久 | 久久精品卫校国产小美女| 精品久久久无码中文字幕天天| 亚洲欧美精品伊人久久| 97久久精品人人做人人爽| 国产午夜电影久久| 久久精品国产只有精品66| 久久精品人妻一区二区三区| 国产精品九九久久精品女同亚洲欧美日韩综合区| 97久久天天综合色天天综合色hd| 97久久香蕉国产线看观看| 久久综合中文字幕| 一本综合久久国产二区| 亚洲国产欧美国产综合久久| 国产Av激情久久无码天堂| 91精品国产综合久久香蕉| 久久久久久亚洲精品无码| 精品国产乱码久久久久软件| 久久综合给合久久狠狠狠97色| 久久99热只有频精品8| 亚洲精品高清国产一久久| 香蕉久久夜色精品国产尤物| 亚洲精品乱码久久久久久蜜桃图片 | 77777亚洲午夜久久多人| 久久人妻少妇嫩草AV无码专区| 久久久久久免费一区二区三区| 国产精品成人99久久久久91gav| 伊人色综合久久天天网| 69SEX久久精品国产麻豆| 久久天天躁狠狠躁夜夜av浪潮| 亚洲av伊人久久综合密臀性色| 久久国产精品-久久精品|