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

            道。道。道

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

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

            常用鏈接

            搜索

            •  

            最新評(píng)論

            ??1?//?MainFrm.h
            ??2?
            ??3?//對(duì)話框(用來(lái)顯示進(jìn)度條)
            ??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 獨(dú)孤九劍 閱讀(148) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Visual C++ 8.0
            久久精品人妻一区二区三区| 久久久一本精品99久久精品88| 久久亚洲欧美日本精品| 精品国产一区二区三区久久蜜臀| 久久婷婷色综合一区二区| 2020国产成人久久精品| 91精品国产色综久久| 人妻无码精品久久亚瑟影视| 狠色狠色狠狠色综合久久| 久久综合亚洲色HEZYO社区| 久久精品无码专区免费东京热| 久久高潮一级毛片免费| 无码AV中文字幕久久专区| 国产精品九九久久免费视频 | 国产成人综合久久精品尤物| 久久国产精品免费| 潮喷大喷水系列无码久久精品| 热RE99久久精品国产66热| 国内精品伊人久久久久| 伊人久久大香线蕉亚洲 | 久久精品卫校国产小美女| 中文精品久久久久国产网址| 亚洲午夜久久久久久噜噜噜| 久久久久国色AV免费观看| 一本大道加勒比久久综合| 97热久久免费频精品99| 亚洲人成网亚洲欧洲无码久久| 囯产极品美女高潮无套久久久| 久久中文字幕一区二区| 欧洲人妻丰满av无码久久不卡| 老司机午夜网站国内精品久久久久久久久 | 国产精品禁18久久久夂久| 亚洲va中文字幕无码久久不卡| 国产激情久久久久影院老熟女| 久久精品成人免费看| 国产精品美女久久久久| 久久精品毛片免费观看| 久久精品国产亚洲av麻豆色欲 | 国产精品久久久久久影院| 99久久人妻无码精品系列蜜桃| 婷婷伊人久久大香线蕉AV|