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

            VC++ C++ C# Algorithm

            C++博客 首頁 新隨筆 聯系 聚合 管理
              21 Posts :: 3 Stories :: 31 Comments :: 0 Trackbacks

            一個程序二個窗口

            ??1?#include?"stdafx.h"
            ??2?#include?<map>
            ??3?#include?"MultiWindow.h"
            ??4?#define?MAX_LOADSTRING?100
            ??5?using?namespace?std;
            ??6?//?全局變量:
            ??7?HINSTANCE?hInst;????????????????????????????????//?當前實例
            ??8?TCHAR?szTitle[MAX_LOADSTRING];????????????????????//?標題欄文本
            ??9?TCHAR?szWindowClass[MAX_LOADSTRING];????????????//?主窗口類名
            ?10?
            ?11?//?此代碼模塊中包含的函數的前向聲明:
            ?12?ATOM????????????????MyRegisterClass(HINSTANCE?hInstance);
            ?13?BOOL????????????????InitInstance(HINSTANCE,?int);
            ?14?LRESULT?CALLBACK????WndProc(HWND,?UINT,?WPARAM,?LPARAM);
            ?15?LRESULT?CALLBACK????About(HWND,?UINT,?WPARAM,?LPARAM);
            ?16?using?namespace?std;
            ?17?
            ?18?class?CMyWnd;
            ?19?typedef?map<HWND,CMyWnd*>?MAPHWND2WND;
            ?20?MAPHWND2WND??mapHWND2Wnd;
            ?21?
            ?22?CMyWnd*?tmpMyWnd?=?NULL;
            ?23?
            ?24?class?CMyWnd
            ?25?{
            ?26?public:
            ?27?????static?LRESULT?CALLBACK?WndProc(HWND?hWnd,UINT?nMessage,WPARAM?wParam,LPARAM?lParam);
            ?28?
            ?29?????LRESULT?WindowProc(UINT?nMessage,WPARAM?wParam,LPARAM?lParam);
            ?30?
            ?31?
            ?32?????CMyWnd()
            ?33?????{
            ?34?????????m_hWnd?=?NULL;
            ?35?????}
            ?36?????bool?Create()
            ?37?????{
            ?38?????????tmpMyWnd??=?this;
            ?39?
            ?40?????????m_hWnd??=?CreateWindow(szWindowClass,?szTitle,?WS_OVERLAPPEDWINDOW,
            ?41?????????????0,?0,?100,100,?NULL,?NULL,?hInst,?NULL);
            ?42?
            ?43?????????if?(!m_hWnd)
            ?44?????????????return?false;
            ?45?
            ?46?
            ?47?????????return?true;
            ?48?????}
            ?49?
            ?50?????BOOL?ShowWindow(int?nCmdShow)
            ?51?????{
            ?52?????????return?::ShowWindow(m_hWnd,nCmdShow);
            ?53?????}
            ?54?
            ?55?????BOOL?UpdataWindow()
            ?56?????{
            ?57?????????return?::UpdateWindow(m_hWnd);
            ?58?????}
            ?59?
            ?60?????virtual?void?OnPaint()
            ?61?????{
            ?62?????????PAINTSTRUCT?ps;
            ?63?????????HDC?hdc?=?BeginPaint(m_hWnd,?&ps);
            ?64?????????::TextOut(hdc,0,0,"123456",6);
            ?65?????????EndPaint(m_hWnd,?&ps);
            ?66?
            ?67?????}
            ?68?
            ?69?????HWND?m_hWnd;
            ?70?};
            ?71?
            ?72?class?CMyWnd2?:?public?CMyWnd
            ?73?{
            ?74?public:
            ?75?????virtual?void?OnPaint()
            ?76?????{
            ?77?????????PAINTSTRUCT?ps;
            ?78?????????HDC?hdc?=?BeginPaint(m_hWnd,?&ps);
            ?79?????????::TextOut(hdc,0,0,"6789",4);
            ?80?????????EndPaint(m_hWnd,?&ps);
            ?81?????}
            ?82?
            ?83?????string?m_str;
            ?84?};
            ?85?
            ?86?class?CMyWnd3?:?public?CMyWnd
            ?87?{
            ?88?public:
            ?89?????virtual?void?OnPaint()
            ?90?????{
            ?91?????????PAINTSTRUCT?ps;
            ?92?????????HDC?hdc?=?BeginPaint(m_hWnd,?&ps);
            ?93?????????::TextOut(hdc,0,0,"000000",6);
            ?94?????????EndPaint(m_hWnd,?&ps);
            ?95?????}
            ?96?
            ?97?????string?m_str;
            ?98?};
            ?99?
            100?CMyWnd*?findCMyWnd(HWND?hWnd)
            101?{
            102?????MAPHWND2WND::iterator?it?=?mapHWND2Wnd.find(hWnd);
            103?????if?(it?!=?mapHWND2Wnd.end())
            104?????{
            105?????????return?it->second;
            106?????}
            107?????else
            108?????{
            109?????????mapHWND2Wnd.insert(make_pair(hWnd,tmpMyWnd));
            110?
            111?????????tmpMyWnd->m_hWnd?=?hWnd;
            112?????????return?tmpMyWnd;
            113?????????//DebugBreak();
            114?????}
            115?????return?NULL;
            116?}
            117?
            118?LRESULT?CALLBACK?CMyWnd::WndProc(HWND?hWnd,UINT?nMessage,WPARAM?wParam,LPARAM?lParam)
            119?{
            120?????CMyWnd*?pWnd?=?findCMyWnd(hWnd);
            121?????if?(pWnd?!=?NULL)
            122?????{
            123?????????return?pWnd->WindowProc(?nMessage,?wParam,?lParam);
            124?????}
            125?????else
            126?????{
            127?????????DebugBreak();
            128?????}
            129?????return?0;
            130?}
            131?
            132?LRESULT?CMyWnd::WindowProc(UINT?nMessage,WPARAM?wParam,LPARAM?lParam)
            133?{
            134?????if?(nMessage?==?WM_PAINT)
            135?????{
            136?????????OnPaint();
            137?????????return?0;
            138?????}
            139?????return?::DefWindowProc(m_hWnd,?nMessage,?wParam,?lParam);;
            140?}
            141?
            142?
            143?int?APIENTRY?_tWinMain(HINSTANCE?hInstance,
            144??????????????????????HINSTANCE?hPrevInstance,
            145??????????????????????LPTSTR????lpCmdLine,
            146??????????????????????int???????nCmdShow)
            147?{
            148??????//?TODO:?在此放置代碼。
            149?????MSG?msg;
            150?????HACCEL?hAccelTable;
            151?
            152?????//?初始化全局字符串
            153?????LoadString(hInstance,?IDS_APP_TITLE,?szTitle,?MAX_LOADSTRING);
            154?????LoadString(hInstance,?IDC_MULTIWINDOW,?szWindowClass,?MAX_LOADSTRING);
            155?????MyRegisterClass(hInstance);
            156?
            157?????//?執行應用程序初始化:
            158?????if?(!InitInstance?(hInstance,?nCmdShow))?
            159?????{
            160?????????return?FALSE;
            161?????}
            162?
            163?????hAccelTable?=?LoadAccelerators(hInstance,?(LPCTSTR)IDC_MULTIWINDOW);
            164?
            165?????//?主消息循環:
            166?????while?(GetMessage(&msg,?NULL,?0,?0))?
            167?????{
            168?????????if?(!TranslateAccelerator(msg.hwnd,?hAccelTable,?&msg))?
            169?????????{
            170?????????????TranslateMessage(&msg);
            171?????????????DispatchMessage(&msg);
            172?????????}
            173?????}
            174?
            175?????return?(int)?msg.wParam;
            176?}
            177?
            178?
            179?
            180?//
            181?//??函數:?MyRegisterClass()
            182?//
            183?//??目的:?注冊窗口類。
            184?//
            185?//??注釋:?
            186?//
            187?//????僅當希望在已添加到?Windows?95?的
            188?//????“RegisterClassEx”函數之前此代碼與?Win32?系統兼容時,
            189?//????才需要此函數及其用法。調用此函數
            190?//????十分重要,這樣應用程序就可以獲得關聯的
            191?//???“格式正確的”小圖標。
            192?//
            193?ATOM?MyRegisterClass(HINSTANCE?hInstance)
            194?{
            195?????WNDCLASSEX?wcex;
            196?
            197?????wcex.cbSize?=?sizeof(WNDCLASSEX);?
            198?
            199?????wcex.style????????????=?CS_HREDRAW?|?CS_VREDRAW;
            200?????wcex.lpfnWndProc????=?CMyWnd::WndProc;
            201?????wcex.cbClsExtra????????=?0;
            202?????wcex.cbWndExtra????????=?0;
            203?????wcex.hInstance????????=?hInstance;
            204?????wcex.hIcon????????????=?LoadIcon(hInstance,?(LPCTSTR)IDI_MULTIWINDOW);
            205?????wcex.hCursor????????=?LoadCursor(NULL,?IDC_ARROW);
            206?????wcex.hbrBackground????=?(HBRUSH)(COLOR_WINDOW+1);
            207?????wcex.lpszMenuName????=?(LPCTSTR)IDC_MULTIWINDOW;
            208?????wcex.lpszClassName????=?szWindowClass;
            209?????wcex.hIconSm????????=?LoadIcon(wcex.hInstance,?(LPCTSTR)IDI_SMALL);
            210?
            211?????return?RegisterClassEx(&wcex);
            212?}
            213?
            214?//
            215?//???函數:?InitInstance(HANDLE,?int)
            216?//
            217?//???目的:?保存實例句柄并創建主窗口
            218?//
            219?//???注釋:?
            220?//
            221?//????????在此函數中,我們在全局變量中保存實例句柄并
            222?//????????創建和顯示主程序窗口。
            223?//
            224?BOOL?InitInstance(HINSTANCE?hInstance,?int?nCmdShow)
            225?{
            226???
            227?
            228????hInst?=?hInstance;?//?將實例句柄存儲在全局變量中
            229?
            230???
            231????CMyWnd*?pWnd?=?new?CMyWnd3();
            232????if(!pWnd->Create())
            233????????return?false;
            234????pWnd->ShowWindow(nCmdShow);
            235????pWnd->UpdataWindow();
            236?
            237????pWnd?=?new?CMyWnd2();
            238?
            239????if?(!pWnd->Create())
            240????????return?FALSE;
            241????pWnd->ShowWindow(nCmdShow);
            242????pWnd->UpdataWindow();
            243?
            244????return?TRUE;
            245?}
            posted on 2006-12-15 20:56 大熊貓 閱讀(269) 評論(0)  編輯 收藏 引用
            久久青青草原精品国产不卡| 亚洲国产一成人久久精品| 精品久久久久久久久久久久久久久| 国内精品久久久久久麻豆 | 一本久久a久久精品综合香蕉| 亚洲va久久久久| 一本大道久久a久久精品综合 | 精品无码久久久久国产动漫3d| 精品久久久久中文字幕日本| 久久99久久成人免费播放| 久久亚洲sm情趣捆绑调教| 亚洲嫩草影院久久精品| 国产美女亚洲精品久久久综合| 99久久夜色精品国产网站| 久久伊人五月丁香狠狠色| 国产高潮久久免费观看| 日韩精品久久无码中文字幕| 国产福利电影一区二区三区久久久久成人精品综合 | 国内精品久久久久国产盗摄| 97久久国产露脸精品国产 | 99久久夜色精品国产网站| 久久99亚洲综合精品首页| 乱亲女H秽乱长久久久| 久久福利资源国产精品999| 99久久精品国产综合一区| 国内精品九九久久久精品| 色诱久久av| 国产日韩久久久精品影院首页 | 久久亚洲熟女cc98cm| 99久久亚洲综合精品网站| 国内精品伊人久久久久av一坑| 成人久久免费网站| 久久久www免费人成精品| 久久经典免费视频| 亚洲精品无码久久不卡| 亚洲va久久久久| 亚洲国产一成人久久精品| 久久亚洲精品中文字幕| 久久久久久a亚洲欧洲aⅴ| 久久香蕉综合色一综合色88| 国产免费久久精品丫丫|