• <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
            久久996热精品xxxx| 国内精品久久久久影院薰衣草| 国产精品久久99| 狠狠色丁香婷婷综合久久来 | 狠狠色狠狠色综合久久| 亚洲AV日韩精品久久久久久久| 久久99国产亚洲高清观看首页| 久久电影网| 久久精品国产久精国产思思 | 99久久综合狠狠综合久久止| 精品无码人妻久久久久久 | 久久亚洲国产午夜精品理论片| 久久国产影院| 九九久久99综合一区二区| 伊人久久大香线蕉综合5g| 99久久夜色精品国产网站| 久久九九兔免费精品6| 久久久久亚洲精品中文字幕| 久久婷婷五月综合97色一本一本 | 人妻精品久久久久中文字幕69 | 国产99久久久国产精免费| 亚洲第一极品精品无码久久| 久久久噜噜噜久久| 久久综合久久久| 2021精品国产综合久久| 无码伊人66久久大杳蕉网站谷歌| 久久久WWW成人| 久久se精品一区二区影院 | 久久A级毛片免费观看| 丁香色欲久久久久久综合网| 久久亚洲色一区二区三区| 国产91久久综合| 九九久久精品国产| 久久久久人妻一区精品果冻| 国产农村妇女毛片精品久久| 91精品国产91久久久久久青草| 久久精品一本到99热免费| 人妻无码中文久久久久专区| 日本强好片久久久久久AAA| 久久精品亚洲一区二区三区浴池 | 99国产精品久久|