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

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

?? csdlg.cpp

?? 《Win32多線程程序設計》配套代碼.集成了一般簡單的線程設計及優化的原理。
?? CPP
字號:
/*
 * CsDlg.cpp
 *
 * Sample code for "Multithreading Applications in Win32"
 * This is from Chapter 13.
 *
 * Dialog-based application that searches for the CopyRecv
 * window and sends that window commands using WM_COPYDATA.
 */

#include "stdafx.h"
#include "CopySend.h"
#include "CsDlg.h"
#include "MtVerify.h"

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

const LPCSTR szDisplayAppName = "CopyRecv Display Window";

// Define some action commands that tell the display
// window what to do
enum { ACTION_DISPLAY_TEXT, ACTION_CLEAR_WINDOW };


/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

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

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCopySendDlg dialog

CCopySendDlg::CCopySendDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCopySendDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCopySendDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CCopySendDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCopySendDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CCopySendDlg, CDialog)
	//{{AFX_MSG_MAP(CCopySendDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDOK, OnOk)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_BN_CLICKED(IDC_CLEAR, OnClear)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCopySendDlg message handlers

BOOL CCopySendDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	CString strAboutMenu;
	strAboutMenu.LoadString(IDS_ABOUTBOX);
	if (!strAboutMenu.IsEmpty())
	{
		pSysMenu->AppendMenu(MF_SEPARATOR);
		pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CCopySendDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CCopySendDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CCopySendDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CCopySendDlg::OnOk() 
{
    CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_SENDTEXT);
    ASSERT_VALID(pEdit);

    // Get the text from the edit control
    CString strDisplayText;
    pEdit->GetWindowText(strDisplayText);

    COPYDATASTRUCT cds;
    memset(&cds, 0, sizeof(cds));
    cds.dwData = ACTION_DISPLAY_TEXT;
    cds.cbData = strDisplayText.GetLength() + 1; // +1 for the NULL
    cds.lpData = (LPVOID)(LPCTSTR) strDisplayText;

    SendToServer(cds);
}


void CCopySendDlg::OnClear() 
{
    COPYDATASTRUCT cds;
    memset(&cds, 0, sizeof(cds));
    cds.dwData = ACTION_CLEAR_WINDOW;

    SendToServer(cds);
}

void CCopySendDlg::SendToServer(const COPYDATASTRUCT& cds)
{
    CWnd *pDisplayWnd = CWnd::FindWindow(NULL, szDisplayAppName);
    if (pDisplayWnd)
    {
        pDisplayWnd->SendMessage(WM_COPYDATA,
            (WPARAM)GetSafeHwnd(), (LPARAM)&cds);
    }
    else
        AfxMessageBox(IDS_ERR_NOSERVER);
}

void CCopySendDlg::OnExit() 
{
    EndDialog(IDOK);	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品黄色片免费大全| 91网页版在线| 免费在线成人网| 亚洲一区二区av在线| 亚洲人123区| 一区二区三区免费| 亚洲一级二级三级在线免费观看| 亚洲精品福利视频网站| 亚洲永久免费视频| 婷婷开心久久网| 麻豆视频一区二区| 国产精品一区二区三区网站| 国产成人精品一区二区三区四区| 成人性色生活片免费看爆迷你毛片| 国产成人免费视频一区| 99re热这里只有精品视频| 在线精品国精品国产尤物884a| 欧美三级欧美一级| 日韩美女视频在线| 国产日产欧美精品一区二区三区| 亚洲视频免费观看| 亚洲成人资源在线| 国产一区二区在线影院| 成人av在线资源网| 欧美体内she精视频| 欧美一区二区三区视频| 久久九九全国免费| 亚洲一区二区精品久久av| 天天综合网天天综合色| 国产电影精品久久禁18| 日本高清不卡在线观看| 久久综合九色综合欧美就去吻| 亚洲日本中文字幕区| 男男gaygay亚洲| 99免费精品在线| 在线日韩一区二区| 久久久久久久久久久黄色| 亚洲另类中文字| 狂野欧美性猛交blacked| 高清在线成人网| 56国语精品自产拍在线观看| 中文字幕一区二区三区不卡| 人人超碰91尤物精品国产| av中文字幕亚洲| 久久香蕉国产线看观看99| 亚洲一级二级三级| 99精品国产一区二区三区不卡| 日韩一区二区在线观看视频播放 | 国产精品久久久久一区| 亚洲第一激情av| av电影一区二区| 精品国产在天天线2019| 丝袜a∨在线一区二区三区不卡| 国产成人免费视频网站| 欧美白人最猛性xxxxx69交| 亚洲综合视频在线| 不卡高清视频专区| 2021国产精品久久精品| 三级在线观看一区二区| 日本高清成人免费播放| 久久久青草青青国产亚洲免观| 秋霞电影一区二区| 欧美精品一卡两卡| 亚洲成av人片| 欧美色视频一区| 亚洲综合久久久| 在线一区二区视频| 亚洲一区二区三区四区不卡| 一本久道久久综合中文字幕| 综合婷婷亚洲小说| 91色乱码一区二区三区| 国产精品视频在线看| 成人av网站在线观看免费| 欧美国产日本韩| 成人视屏免费看| 日韩毛片一二三区| 色天使久久综合网天天| 一区二区三区 在线观看视频| 色综合久久中文综合久久97| 专区另类欧美日韩| 色就色 综合激情| 亚洲综合色成人| 51精品久久久久久久蜜臀| 亚洲一区自拍偷拍| 欧美精品视频www在线观看| 日韩在线观看一区二区| 欧美一区二区三区小说| 国产乱码字幕精品高清av| 欧美经典一区二区三区| 91丨porny丨首页| 亚洲成av人**亚洲成av**| 日韩一区二区免费视频| 久久精品99久久久| 久久久久久久国产精品影院| 国产成人精品影视| 亚洲免费看黄网站| 欧美一卡2卡三卡4卡5免费| 韩国视频一区二区| 中文字幕一区二区三区在线播放 | 国产麻豆视频精品| 亚洲欧洲日产国产综合网| 一本到不卡免费一区二区| 亚洲一区二区黄色| 欧美成人aa大片| 99久久国产综合精品色伊| 亚洲一区二区综合| 久久综合久久综合久久综合| 91偷拍与自偷拍精品| 久久超碰97中文字幕| 中文天堂在线一区| 91精品国产品国语在线不卡| 高清久久久久久| 日韩电影在线免费| 亚洲精品视频一区| 精品久久久久一区| 欧美性猛交xxxx乱大交退制版| 日韩激情视频网站| 亚洲色图欧美偷拍| 久久久久久日产精品| 欧美日韩小视频| 一本色道久久综合亚洲aⅴ蜜桃| 日本网站在线观看一区二区三区| 国产精品视频第一区| 精品人在线二区三区| 欧美亚洲禁片免费| 成人午夜精品在线| 日韩av一区二区在线影视| 中文字幕在线一区| 精品国产一区二区精华| 欧美日韩国产精品自在自线| 国产999精品久久久久久| 亚洲电影一级片| 一区免费观看视频| 欧美极品美女视频| 国产婷婷色一区二区三区四区 | 成a人片国产精品| 九九精品视频在线看| 亚洲第一主播视频| 亚洲男人电影天堂| 中文无字幕一区二区三区| 久久久精品免费观看| 精品国产免费视频| 精品日韩99亚洲| 日韩欧美一级二级| 日韩欧美自拍偷拍| 欧美一区二区三区四区在线观看| 欧美午夜精品一区二区蜜桃| 99久久精品一区| 波多野结衣在线一区| 北条麻妃一区二区三区| 波多野结衣精品在线| www.在线成人| 91麻豆高清视频| 欧美日韩国产精品自在自线| 欧美精品在线视频| 日韩精品一区二区三区视频播放 | 国产视频一区在线播放| 久久午夜国产精品| 国产欧美日韩另类一区| 国产网站一区二区| 中文字幕视频一区| 一区二区三区中文字幕| 午夜精品国产更新| 久久精品国产精品亚洲红杏| 国产一区二区三区国产| 成人免费的视频| 99re这里都是精品| 欧美日韩国产高清一区二区 | 成人白浆超碰人人人人| 91丨porny丨在线| 91精品一区二区三区在线观看| 欧美高清视频一二三区| 亚洲精品一线二线三线| 综合亚洲深深色噜噜狠狠网站| 亚洲不卡一区二区三区| 久久精品国产亚洲5555| www.日本不卡| 欧美日韩国产精选| 欧美激情一区二区三区全黄| 亚洲免费av高清| 老色鬼精品视频在线观看播放| 成人天堂资源www在线| 在线视频一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 亚洲视频图片小说| 看电影不卡的网站| 色诱视频网站一区| 精品久久国产字幕高潮| 亚洲免费在线视频一区 二区| 日韩 欧美一区二区三区| 国产福利视频一区二区三区| 欧美美女bb生活片| 国产精品污网站| 日日夜夜免费精品| 成+人+亚洲+综合天堂| 欧美xxxxx裸体时装秀| 樱桃国产成人精品视频| 国产a精品视频| 精品对白一区国产伦| 亚洲福利一二三区|