亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? outdlg.cpp

?? Windows多線程編碼隨書源碼
?? CPP
字號:
/*
 * OutDlg.cpp
 *
 * Sample code for "Multithreading Applications in Win32"
 * This is from Chapter 11. This sample is discussed in
 * the text, but there is no associated listing.
 *
 * Launch a dialog in another thread using both
 * MFC and Win32. Demonstrate the related problems.
 */

//////////////////////////////////////////////////////////////////////////
// INCLUDE FILES

#include "stdafx.h"
#include "Cancel.h"
#include "MainFrm.h"
#include "OutpThrd.h"
#include "OutDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

//////////////////////////////////////////////////////////////////////////
// CLASS DEFINITIONS

BEGIN_MESSAGE_MAP(CProgressDlg, CDialog)
	//{{AFX_MSG_MAP(CProgressDlg)
	ON_WM_SIZE()
	//}}AFX_MSG_MAP
   ON_MESSAGE(WM_USER_PREPARE_TO_CLOSE, OnPrepareToClose)
END_MESSAGE_MAP()


/*
 * Default constructor for the dialog.
 *
 * Set no thread
 *
 * The param "n" is the index into
 * the handle array, kept for informational
 * purposes.
 */
CProgressDlg::CProgressDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CProgressDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CProgressDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT

	m_pThread = NULL;

	Initialize();
}

CProgressDlg::~CProgressDlg()
{
}

void CProgressDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProgressDlg)
	//}}AFX_DATA_MAP
}


/******************************************************************************
 *
 *	CProgressDlg::OnCancel
 *
 * If the user presses the cancel button, set the cancel flag.
 * Although not implemented, the dialog would normally be closed
 * by the primary thread after it notices that the flag is set.
 */                                                              
void CProgressDlg::OnCancel()
{
	// DI Comment: Don't call base class CDialog::OnCancel(), because it calls EndDialog(),
	// which will make dialog box invisible but will not destroy it.
	// !!! Don't call DestroyWindow() here, it is to early.

	int ulResult = AfxMessageBox(IDS_ERR_OUTPUT_CANCEL, MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 );

	if( ulResult == IDYES )
		m_fIsCancelled = TRUE;
}


/******************************************************************************
 *
 *	CProgressDlg::OnInitDialog
 *
 * Center the dialog in the middle of the mainframe.
 */                                                              
BOOL CProgressDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// This call generates msgs to the mainframe that will
	// never be answered. However,  if you take this call
	// out the program still does not work (as shown in Win32)
	CenterWindow();

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}


/******************************************************************************
 *
 *	CProgressDlg::OnInitDialog
 *
 * Initialize members.
 */                                                              
void CProgressDlg::Initialize()
{
	m_fIsCancelled = FALSE;
} 


/******************************************************************************
 *
 *	CProgressDlg::StartDialog
 *
 * Start the thread that will run the dialog.
 */                                                              
BOOL	CProgressDlg::StartDialog()
{
    // Dialog never exited and/or thread never died
	ASSERT(m_pThread==NULL);
	
	m_pThread = (COutputCancelDlgThread*)AfxBeginThread(
						RUNTIME_CLASS(COutputCancelDlgThread),
						THREAD_PRIORITY_ABOVE_NORMAL,	// Keep it responsive
						0,
						CREATE_SUSPENDED
					);

	// We created the thread suspended so we could
	// pass m_pDlg here.
	if (m_pThread)
	{
		m_pThread->m_pDlg = this;
		m_pThread->ResumeThread();
	}

	return m_pThread != NULL;
}


/******************************************************************************
 *
 *	CProgressDlg::StartDialog
 *
 * Gracefully shut down the dialog across the thread boundaries.
 */                                                              
void	CProgressDlg::CloseDialog()
{
	if (m_pThread == NULL)
        return;

	SendMessage(WM_USER_PREPARE_TO_CLOSE);
	// The dialog thread has higher priority, so it will run to
	// completion before this thread gets control again.
	m_pThread = NULL;
}


/******************************************************************************
 *
 *	CProgressDlg::StartDialog
 *
 * Creates and initializes the dialog. This runs in the second thread.
 * Should only be called during InitInstance of the thread for this dlg.
 */                                                              
BOOL	CProgressDlg::Go()
{
	// Initializes modeless dialog
	Initialize();

	CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd( );

	// If you get rid of the CenterWindow call in OnInitDialog
	// and change this pMainFrame to NULL, then the window
	// comes up but does not behave properly.
	if( !Create( IDD_OUTPUT_MSGDLG, pMainFrame ))
		return FALSE;

	return TRUE;
}


/*****************************************************************************
 *
 *	CProgressDlg::OnPrepareToClose
 *
 * Shut down the dialog and the thread. This function
 * should not be called directly. Instead, send the
 * thread a WM_USER_PREPARE_TO_CLOSE.
 */

LRESULT CProgressDlg::OnPrepareToClose(WPARAM, LPARAM)
{
	DestroyWindow();
	::PostQuitMessage(0);
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美偷拍卡通变态| 欧美成人一区二区| 国产精品亚洲视频| 久久电影国产免费久久电影| 日本成人中文字幕在线视频| 日本va欧美va精品| 美女网站色91| 国产一区二区三区精品视频| 国产一区二区三区精品视频| 国产精品原创巨作av| 国产91精品免费| 成人久久18免费网站麻豆| av在线播放一区二区三区| 色素色在线综合| 51精品视频一区二区三区| 精品少妇一区二区三区日产乱码| 欧美变态口味重另类| 欧美国产日韩在线观看| 亚洲精品自拍动漫在线| 亚洲国产综合在线| 久久 天天综合| 国产成人精品亚洲777人妖| 成人在线一区二区三区| 欧美日韩在线免费视频| 精品欧美一区二区三区精品久久| 国产欧美在线观看一区| 一区二区欧美国产| 免费欧美在线视频| 成人免费毛片片v| 欧美日韩亚洲综合一区| 国产亚洲精品免费| 成人性生交大片免费看中文网站| 国产麻豆一精品一av一免费| 国产一区二区毛片| av毛片久久久久**hd| 欧美日韩一卡二卡三卡| 久久久亚洲精品一区二区三区| 天堂久久久久va久久久久| 亚洲超碰97人人做人人爱| 日产国产高清一区二区三区 | 欧美三级中文字| 欧美videossexotv100| 成人欧美一区二区三区1314| 爽好久久久欧美精品| 国产成人av电影| 91精品国产综合久久精品app| 国产亚洲成年网址在线观看| 亚洲国产aⅴ天堂久久| 丁香另类激情小说| 欧美人伦禁忌dvd放荡欲情| 中文字幕乱码亚洲精品一区| 日韩成人一级片| 91麻豆自制传媒国产之光| 久久婷婷成人综合色| 日韩国产成人精品| 在线观看国产日韩| 亚洲欧美一区二区在线观看| 国产一区二三区| 欧美日韩国产一级片| 亚洲日本在线观看| 成人天堂资源www在线| 久久午夜老司机| 视频一区二区三区中文字幕| 欧美亚洲国产bt| 亚洲精品中文在线观看| 暴力调教一区二区三区| 国产精品久久久久久一区二区三区 | 裸体歌舞表演一区二区| 欧美剧在线免费观看网站| 亚洲人成网站精品片在线观看| 国产综合久久久久久鬼色| 欧美一级欧美三级在线观看| 午夜精品一区二区三区免费视频| 欧美四级电影网| 亚洲一区在线观看网站| 欧美在线视频不卡| 亚洲激情五月婷婷| 在线观看日韩国产| 亚洲h精品动漫在线观看| 欧美精品一卡二卡| 日本vs亚洲vs韩国一区三区| 日韩免费看网站| 激情文学综合插| 国产日韩av一区| 99国产一区二区三精品乱码| 亚洲品质自拍视频| 欧美性一二三区| 欧美bbbbb| 久久久久97国产精华液好用吗| 国产精品一区二区久久不卡 | 欧美日韩亚洲综合在线| 三级欧美韩日大片在线看| 在线电影国产精品| 国产精品原创巨作av| 国产精品乱码人人做人人爱| 91丨九色丨蝌蚪富婆spa| 亚洲综合图片区| 日韩欧美在线123| 国产精品一区免费视频| 亚洲激情av在线| 欧美一区二区啪啪| 国产精品1区2区3区在线观看| 亚洲欧美激情插| 日韩一区二区三区视频| 成人av小说网| 日韩成人精品在线| 日本一区二区三区在线观看| 色先锋aa成人| 精品一区二区三区免费观看| 国产精品视频yy9299一区| 欧美视频一区在线观看| 极品少妇xxxx精品少妇偷拍| 亚洲欧美日韩国产综合| 日韩欧美电影一区| 91视频精品在这里| 蜜臀av性久久久久蜜臀av麻豆| 国产日韩精品久久久| 69久久99精品久久久久婷婷| 成人av第一页| 精品综合免费视频观看| 亚洲一区二区四区蜜桃| 国产亚洲精品7777| 欧美电影免费观看高清完整版在| 99久久精品一区二区| 狠狠久久亚洲欧美| 亚洲国产精品天堂| 国产日韩亚洲欧美综合| 日韩欧美成人一区二区| 欧美色精品天天在线观看视频| 国产成人在线网站| 久久成人久久爱| 日韩电影在线免费| 一区二区三区资源| 国产精品美女久久久久av爽李琼 | av资源网一区| 国模套图日韩精品一区二区| 日韩av中文字幕一区二区三区| 亚洲欧美韩国综合色| 中文字幕一区二区在线观看| 精品福利av导航| 日韩亚洲欧美在线观看| 7777精品伊人久久久大香线蕉| 色综合中文综合网| 337p亚洲精品色噜噜| 日本韩国精品在线| 91在线视频18| av午夜一区麻豆| 成人av动漫网站| 国产91精品精华液一区二区三区| 国产一区二区福利视频| 韩国成人在线视频| 国产一区二区三区综合| 精品在线一区二区| 久久99国产精品久久| 久久国产尿小便嘘嘘尿| 国产一区欧美一区| 成人福利视频在线看| 成人午夜精品一区二区三区| 97精品国产露脸对白| 91免费国产在线| 欧美久久一区二区| 日韩精品一区二区三区在线播放| 精品国产一区二区三区久久影院 | 国产精品天美传媒沈樵| 欧美激情一区二区三区四区| 国产精品午夜免费| 亚洲色图在线视频| 亚洲成人久久影院| 久久福利资源站| 成人动漫视频在线| 在线观看国产一区二区| 91精品久久久久久久91蜜桃| 日韩欧美黄色影院| 欧美国产1区2区| 亚洲激情图片一区| 美脚の诱脚舐め脚责91| 国产suv精品一区二区6| av高清不卡在线| 欧美精品高清视频| 欧美国产国产综合| 天堂午夜影视日韩欧美一区二区| 精品亚洲成a人在线观看| 成人性生交大片免费| 欧美放荡的少妇| 国产精品日韩精品欧美在线| 亚洲乱码国产乱码精品精可以看| 亚洲www啪成人一区二区麻豆| 蜜桃在线一区二区三区| 国产尤物一区二区在线| 色婷婷狠狠综合| 久久久久久一二三区| 夜色激情一区二区| 高清不卡一区二区| 制服丝袜在线91| √…a在线天堂一区| 麻豆91精品91久久久的内涵| 91浏览器在线视频| 久久久午夜电影| 欧美aⅴ一区二区三区视频| 一本久道中文字幕精品亚洲嫩 |