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

            道。道。道

            安全特性不等于安全的特性

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

            常用鏈接

            搜索

            •  

            最新評論

            ??1?//?MainFrm.h
            ??2?
            ??3?//對話框(用來顯示進度條)
            ??4?
            ??5?#include?"ProgressDlg.h"
            ??6?
            ??7?#define?WM_WORKPROGRESS?WM_USER+100
            ??8?#define?CN_PROGRESS?1
            ??9?#define?CN_DONE?3
            ?10?
            ?11?
            ?12?struct?ThreadParam{
            ?13??HWND?m_NotifyWnd;
            ?14?};
            ?15?
            ?16?class?CMainFrame?:?public?CFrameWnd
            ?17?{
            ?18?
            ?19?..
            ?20?
            ?21?protected:??
            ?22?
            ?23????CProgressDlg?m_ProgressDlg;
            ?24?
            ?25?public:
            ?26??//?處理線程消息
            ?27??LRESULT?OnThreadProgress(WPARAM?wParam,?LPARAM?lParam);
            ?28?
            ?29??CWinThread*?m_pAssistantThread?;
            ?30??ThreadParam?gThreadParam;
            ?31?
            ?32?
            ?33?}
            ?34?
            ?35?
            ?36?//?MainFrm.cpp
            ?37?
            ?38?BEGIN_MESSAGE_MAP(CMainFrame,?CFrameWnd)
            ?39?
            ?40??.
            ?41??ON_MESSAGE(WM_WORKPROGRESS,?OnThreadProgress)
            ?42?END_MESSAGE_MAP()
            ?43?
            ?44?CMainFrame::CMainFrame()
            ?45?{
            ?46??//?TODO:?在此添加成員初始化代碼
            ?47??m_pAssistantThread?=?NULL;
            ?48?}
            ?49?
            ?50?CMainFrame::~CMainFrame()
            ?51?{
            ?52??if(?m_pAssistantThread!=NULL?)
            ?53???delete?m_pAssistantThread;?m_pAssistantThread?=?NULL;
            ?54?}
            ?55?
            ?56?
            ?57?int?CMainFrame::OnCreate(LPCREATESTRUCT?lpCreateStruct)
            ?58?
            ?59?{
            ?60?
            ?61????.
            ?62?
            ?63????m_ProgressDlg.Create(CProgressDlg::IDD,?this);
            ?64?
            ?65????return?0;
            ?66?
            ?67?}
            ?68?
            ?69?//輔助線程
            ?70?static?UINT?ThreadFunc(LPVOID?pParam)
            ?71?{
            ?72??ThreadParam?*ptParam?=?(ThreadParam*)pParam;
            ?73??HWND?hNotifyWnd?=?ptParam->m_NotifyWnd;
            ?74??int?nSum?=?1000;
            ?75??for(int?i=0;i<nSum;i++)
            ?76??{
            ?77???if(::IsWindow(hNotifyWnd))
            ?78???{
            ?79????::PostMessage(?hNotifyWnd,WM_WORKPROGRESS,MAKEWPARAM(CN_PROGRESS,0),(LPARAM)i?);
            ?80???}
            ?81???Sleep(1);
            ?82??}
            ?83??
            ?84??if(::IsWindow(hNotifyWnd))
            ?85??{
            ?86???::PostMessage(hNotifyWnd,WM_WORKPROGRESS,MAKEWPARAM(CN_DONE,0),(LPARAM)nSum?);
            ?87??}
            ?88??return?0;
            ?89?}
            ?90?
            ?91?void?CMainFrame::OnTestthreadShowprogressdlg()
            ?92?{
            ?93??//m_ProgressDlg.ShowWindow(SW_SHOW);
            ?94??if(m_pAssistantThread?!=?NULL?)
            ?95??{
            ?96???DWORD?dwExitCode?=?-1;
            ?97???VERIFY(GetExitCodeThread(*m_pAssistantThread,&dwExitCode));
            ?98???if(dwExitCode?==?STILL_ACTIVE)
            ?99???{
            100????return?;
            101???}
            102???delete?m_pAssistantThread;?m_pAssistantThread?=?NULL;
            103??}
            104?
            105??
            106??m_ProgressDlg.m_ProgressCtrl.SetRange(0,1000);
            107??gThreadParam.m_NotifyWnd?=?(AfxGetApp()->m_pMainWnd)->m_hWnd;
            108??m_pAssistantThread?=?AfxBeginThread(?ThreadFunc,
            109???&gThreadParam,
            110???THREAD_PRIORITY_NORMAL,
            111???0,
            112???CREATE_SUSPENDED,
            113???NULL);
            114??ASSERT(?m_pAssistantThread?);
            115??m_pAssistantThread->m_bAutoDelete?=?FALSE;
            116??m_pAssistantThread->ResumeThread();
            117?}
            118?
            119?//?處理線程消息
            120?LRESULT?CMainFrame::OnThreadProgress(WPARAM?wParam,?LPARAM?lParam)
            121?{
            122??UINT?nID?=?LOWORD(wParam);
            123??if(nID?==?CN_PROGRESS)
            124??{
            125???int?nProgress?=?(int)lParam;
            126???m_ProgressDlg.ShowWindow(SW_SHOW);
            127???m_ProgressDlg.m_ProgressCtrl.SetPos(nProgress);
            128??}
            129??else?if(nID?==?CN_DONE)
            130??{
            131???int?nSum?=?(int)lParam;
            132???m_ProgressDlg.ShowWindow(SW_HIDE);
            133??}
            134??return?0;
            135?}
            136?
            137?
            posted on 2006-11-18 16:38 獨孤九劍 閱讀(145) 評論(0)  編輯 收藏 引用 所屬分類: Visual C++ 8.0
            久久最新精品国产| 久久精品国产99久久久| 久久夜色撩人精品国产| 久久久久久久综合日本| 四虎国产精品成人免费久久| 亚洲国产欧美国产综合久久| 精品久久久久久亚洲| 久久人搡人人玩人妻精品首页| 无码人妻久久一区二区三区蜜桃| 亚洲国产精品无码久久| 久久99精品久久久久久齐齐| 久久99热这里只有精品66| 国产亚洲精品美女久久久| 久久久久亚洲AV成人网| 99久久精品免费看国产一区二区三区 | 久久强奷乱码老熟女| 国内精品久久久久影院日本| 亚洲伊人久久综合影院| 国产亚洲色婷婷久久99精品91| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 青青青青久久精品国产| 欧美精品九九99久久在观看| 久久久91精品国产一区二区三区| 区久久AAA片69亚洲| 久久精品无码一区二区三区日韩| 人妻精品久久久久中文字幕69 | 久久人人爽人人爽人人片av麻烦| 久久精品国产亚洲沈樵| 三上悠亚久久精品| 国内精品伊人久久久久777| 久久精品国产一区二区电影| 成人午夜精品久久久久久久小说 | 久久精品国产精品亚洲下载| 1000部精品久久久久久久久| 无码国产69精品久久久久网站| 2020国产成人久久精品| 久久精品视频一| 久久99热这里只有精品国产| 久久这里的只有是精品23| 深夜久久AAAAA级毛片免费看| 久久人人爽人人爽人人片AV东京热|