• <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 閱讀(805) 評(píng)論(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 的框架代碼  回復(fù)  更多評(píng)論   

            2008-01-20 16:45 by 小不點(diǎn)
            固定窗口的大小:

            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 的框架代碼  回復(fù)  更多評(píng)論   

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

            # re: Win32 的框架代碼  回復(fù)  更多評(píng)論   

            2008-12-11 17:05 by 小不點(diǎn)
            Thank You!
            99久久精品费精品国产| 人妻无码久久一区二区三区免费| 久久久久夜夜夜精品国产| 久久精品毛片免费观看| 69久久精品无码一区二区| 99久久精品这里只有精品 | 亚洲国产精品热久久| 精品欧美一区二区三区久久久| 久久这里有精品| 99精品伊人久久久大香线蕉| 久久国产香蕉一区精品| 色欲久久久天天天综合网| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区| 久久精品国产72国产精福利| 久久久久久久久无码精品亚洲日韩 | 亚洲伊人久久精品影院| 国产精品亚洲美女久久久| 色综合久久久久久久久五月| 精品久久国产一区二区三区香蕉| 国产偷久久久精品专区| 亚洲欧美久久久久9999| 九九久久精品无码专区| 97久久香蕉国产线看观看| 久久精品极品盛宴观看| 国产精品va久久久久久久| 狠狠色丁香久久综合五月| 亚洲国产精品18久久久久久| 久久国产精品无| 伊人 久久 精品| 狠狠色丁香久久婷婷综合_中| 久久九九免费高清视频| 久久93精品国产91久久综合| 久久精品国产亚洲麻豆| 亚洲午夜久久久精品影院| 国产精品视频久久久| 国产精品美女久久久久| 久久亚洲欧美国产精品| 久久亚洲精品无码AV红樱桃| 久久综合噜噜激激的五月天| 麻豆亚洲AV永久无码精品久久| 亚洲狠狠婷婷综合久久久久|