• <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) 評論(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!
            国产精品日韩欧美久久综合| 久久99国产综合精品女同| 日韩久久无码免费毛片软件| 亚洲精品国产自在久久| 精品久久久久久中文字幕人妻最新 | 国产欧美久久一区二区| 94久久国产乱子伦精品免费| 亚洲精品无码久久久久AV麻豆| 亚洲国产精品无码久久久不卡| 国产精品青草久久久久福利99| 亚洲AV无码久久精品狠狠爱浪潮| 久久亚洲国产欧洲精品一| 99久久国产亚洲综合精品| 久久―日本道色综合久久| 亚洲乱码中文字幕久久孕妇黑人| 色综合久久久久网| 久久精品中文无码资源站| 亚洲精品午夜国产va久久| 99久久精品这里只有精品| 天堂久久天堂AV色综合| 亚洲日韩欧美一区久久久久我 | 色偷偷888欧美精品久久久| 久久精品中文字幕大胸| 国产呻吟久久久久久久92| 99久久人妻无码精品系列蜜桃| 久久婷婷是五月综合色狠狠| 久久国产精品国语对白| 久久国产精品久久| 国产精品99久久99久久久| 久久久久亚洲AV无码麻豆| 国内精品伊人久久久久妇| 欧美精品福利视频一区二区三区久久久精品 | 青青草国产成人久久91网| 久久99精品久久久久婷婷| 伊人久久久AV老熟妇色| 久久精品aⅴ无码中文字字幕不卡| 青草久久久国产线免观| 亚洲精品国产第一综合99久久 | 精品欧美一区二区三区久久久| 久久国产精品久久久| 91精品日韩人妻无码久久不卡|