• <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!
            久久午夜综合久久| 国产精品综合久久第一页| 精品久久久久久无码不卡| 亚洲国产精品嫩草影院久久| 亚洲国产成人久久综合一区77| 日本加勒比久久精品| 午夜不卡久久精品无码免费| 99久久精品日本一区二区免费 | 久久久人妻精品无码一区| 欧洲国产伦久久久久久久| 亚洲色欲久久久综合网东京热| 久久综合狠狠综合久久激情 | 欧美精品福利视频一区二区三区久久久精品| 午夜福利91久久福利| 99久久99这里只有免费费精品| 久久高潮一级毛片免费| 精品国产乱码久久久久久1区2区| 久久久这里有精品中文字幕| 久久精品中文騷妇女内射| 亚洲精品高清一二区久久| 久久精品嫩草影院| 亚洲va久久久噜噜噜久久男同 | 色99久久久久高潮综合影院| 午夜天堂av天堂久久久| 精品国产乱码久久久久软件| 久久99国产精品成人欧美| 99久久精品费精品国产一区二区| yy6080久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产午夜福利精品久久| 亚洲成色WWW久久网站| 久久婷婷五月综合97色直播| 久久久久亚洲AV成人网| 国产福利电影一区二区三区久久久久成人精品综合 | 97久久精品人妻人人搡人人玩 | 久久狠狠色狠狠色综合| 亚洲女久久久噜噜噜熟女| 亚洲精品无码久久久久去q| 人人狠狠综合久久88成人| 无码AV中文字幕久久专区| 久久精品久久久久观看99水蜜桃|