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

            Win32 的框架代碼

            Posted on 2008-01-11 03:00 MiweiDev 閱讀(811) 評論(3)  編輯 收藏 引用 所屬分類: Win32 SDk

            老是寫同樣的代碼,自己也懶得記,就把他放在上面以后方便用:

            #include <windows.h>

            LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

            int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                PSTR szCmdLine, 
            int iCmdShow)
            {
                static TCHAR szAppName[] 
            = TEXT ("HelloWin") ;
                HWND    hwnd ;
                MSG    msg ;
                WNDCLASS    wndclass ;

                 wndclass.style          
            = CS_HREDRAW | CS_VREDRAW ;
                 wndclass.lpfnWndProc  
            = WndProc ;
                wndclass.cbClsExtra      
            = 0 ;
                wndclass.cbWndExtra      
            = 0 ;
                wndclass.hInstance      
            = hInstance ;
                wndclass.hIcon          
            = LoadIcon (NULL, IDI_APPLICATION) ;
                  wndclass.hCursor      
            = LoadCursor (NULL, IDC_ARROW) ;
                 wndclass.hbrBackground    
            = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
                  wndclass.lpszMenuName    
            = NULL ;
                wndclass.lpszClassName    
            = szAppName ;

                
            if (!RegisterClass (&wndclass))
                 {
                    MessageBox (    
            NULL, TEXT ("This program requires Windows NT!"), 
                                      szAppName, MB_ICONERROR) ;
                    return 
            0 ;
                 }
                hwnd 
            = CreateWindow( szAppName,    // window class name
                        TEXT (
            "The Hello Program"),    // window caption
                        WS_OVERLAPPEDWINDOW,    
            // window style
                        CW_USEDEFAULT,    
            // initial x position
                        CW_USEDEFAULT,    
            // initial y position
                        CW_USEDEFAULT,    
            // initial x size
                        CW_USEDEFAULT,    
            // initial y size
                        
            NULL,            // parent window handle
                        
            NULL,            // window menu handle
                        hInstance,        
            // program instance handle
                        
            NULL) ;         // creation parameters
                 
                ShowWindow (hwnd, iCmdShow) ;
                UpdateWindow (hwnd) ;
                 
                
            while (GetMessage (&msg, NULL00))
                 {
                    TranslateMessage (
            &msg) ;
                      DispatchMessage (
            &msg) ;
                 }
                return (
            int)msg.wParam ;
            }

            LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
            {
                HDC            hdc ;
                PAINTSTRUCT ps ;
                RECT        rect ;
                 
                switch (message)
                 {
                
            case     WM_PAINT:
                    hdc 
            = BeginPaint (hwnd, &ps) ;
                      
                    GetClientRect (hwnd, 
            &rect) ;
                      
                    DrawText (hdc, TEXT (
            "Hello, Windows XP!"), -1&rect,
                        DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
                          EndPaint (hwnd, 
            &ps) ;
                        return 
            0 ;
                      
                
            case    WM_DESTROY:
                    PostQuitMessage (
            0) ;
                    return 
            0 ;
                 }
               return DefWindowProc (hwnd, message, wParam, lParam) ;
            }

            Feedback

            # re: Win32 的框架代碼  回復  更多評論   

            2008-01-20 16:45 by 小不點
            固定窗口的大小:

            case WM_GETMINMAXINFO:
            {
            // Don't allow resizing in windowed mode.
            // Fix the size of the window to 640x480 (client size)
            MINMAXINFO* pMinMax = (MINMAXINFO*) lParam;

            DWORD dwFrameWidth = GetSystemMetrics( SM_CXSIZEFRAME );
            DWORD dwFrameHeight = GetSystemMetrics( SM_CYSIZEFRAME );
            DWORD dwMenuHeight = GetSystemMetrics( SM_CYMENU );
            DWORD dwCaptionHeight = GetSystemMetrics( SM_CYCAPTION );

            pMinMax->ptMinTrackSize.x = WINDOW_WIDTH + dwFrameWidth * 2;
            pMinMax->ptMinTrackSize.y = WINDOW_HEIGHT + dwFrameHeight * 2 +
            dwMenuHeight + dwCaptionHeight;

            pMinMax->ptMaxTrackSize.x = pMinMax->ptMinTrackSize.x;
            pMinMax->ptMaxTrackSize.y = pMinMax->ptMinTrackSize.y;
            }
            return 0L;

            # re: Win32 的框架代碼  回復  更多評論   

            2008-12-11 11:00 by cpy
            case WM_GETMINMAXINFO:
            WIDTH_WIDTH是樓主自定義(640)嗎?
            如果這樣,pMinMax->ptMinTrackSize.x
            =WINDOW_WIDTH+dwFrameWidth*2-GetSystemMetrics(SM_CXBORDER)。更準確一點.
            pMinMax->ptMinTrackSize.y類似。

            # re: Win32 的框架代碼  回復  更多評論   

            2008-12-11 17:05 by 小不點
            Thank You!
            欧美大香线蕉线伊人久久| 无码AV波多野结衣久久| 成人国内精品久久久久影院VR| 久久久久亚洲AV无码网站| 国产亚洲婷婷香蕉久久精品| 国内精品欧美久久精品| 久久精品国产日本波多野结衣 | 久久伊人五月丁香狠狠色| 婷婷久久久亚洲欧洲日产国码AV| 久久精品无码一区二区三区| 香蕉99久久国产综合精品宅男自 | 久久久久亚洲精品无码蜜桃| 亚洲国产精品久久久久婷婷软件 | 狠狠人妻久久久久久综合| 亚洲精品国产第一综合99久久 | 亚洲综合伊人久久综合| 伊人久久综在合线亚洲2019| 2020国产成人久久精品| 精品久久久久久无码人妻热| 午夜人妻久久久久久久久| 久久精品国产只有精品66| 久久综合精品国产二区无码| 色99久久久久高潮综合影院| 久久99精品国产麻豆宅宅| 一本久久a久久精品vr综合| 人妻精品久久久久中文字幕| 久久中文骚妇内射| 久久天天躁夜夜躁狠狠| 久久亚洲电影| 久久精品成人欧美大片| 香蕉久久一区二区不卡无毒影院| 亚洲精品乱码久久久久久蜜桃不卡| 色欲综合久久躁天天躁| 国产精品久久久久久久午夜片| 国产精品欧美久久久天天影视| 久久精品无码一区二区无码| 久久WWW免费人成一看片| 99久久国产亚洲综合精品| 亚洲人成电影网站久久| 久久久久久久91精品免费观看| 久久精品国产99久久香蕉|