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

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

?? iconmoverdlg.cpp

?? 定時器 的源代碼 比較簡單 簡易使用MFC中的定時器
?? CPP
字號:
// IconMoverDlg.cpp : implementation file
//

#include "stdafx.h"
#include "IconMover.h"
#include "IconMoverDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// 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()

/////////////////////////////////////////////////////////////////////////////
//
//		CIconMoverDlg dialog
//
///////////////////////////////////////////////////////////////////////////////////
//

CIconMoverDlg::CIconMoverDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CIconMoverDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIconMoverDlg)
		// 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 CIconMoverDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIconMoverDlg)
	DDX_Control(pDX, IDC_Start, m_Start);
	DDX_Control(pDX, IDC_Icon, m_Icon);
	//}}AFX_DATA_MAP
}

//
///////////////////////////////////////////////////////////////////////////////////
//

BEGIN_MESSAGE_MAP(CIconMoverDlg, CDialog)
	//{{AFX_MSG_MAP(CIconMoverDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_Start, OnStart)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_Stop, OnStop)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


//
///////////////////////////////////////////////////////////////////////////////////
//
//		CIconMoverDlg message handlers
//
///////////////////////////////////////////////////////////////////////////////////
//


BOOL CIconMoverDlg::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

	IconTimer = NULL;

	return TRUE;  // return TRUE  unless you set the focus to a control
}

//
///////////////////////////////////////////////////////////////////////////////////
//
//
//
///////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::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 CIconMoverDlg::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 CIconMoverDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

//
///////////////////////////////////////////////////////////////////////////////////
//
//		StartTimer - Starts the next available timer and sets the duration counter to
//
//			Returns the system timer number assigned, or 0 if error
//
///////////////////////////////////////////////////////////////////////////////////
//

UINT CIconMoverDlg::StartTimer (UINT TimerDuration)
{
     UINT    TimerVal;

	 TimerVal = SetTimer (IDT_TIMER_0, TimerDuration, NULL);

     if (TimerVal == 0)
     {
		 MessageBox ("Unable to obtain timer","IDT_TIMER_0",MB_OK|MB_SYSTEMMODAL);
     }
	 
	 return TimerVal;

}// end StartTimer

//
///////////////////////////////////////////////////////////////////////////////////
//
//		StopTimer - Stops the timer specified
//
//			Returns TRUE if successful, else FALSE
//
///////////////////////////////////////////////////////////////////////////////////
//

BOOL CIconMoverDlg::StopTimer (UINT TimerVal)
{
	if (!KillTimer (TimerVal))
	{
		CString Message;
		Message.Format("Unable to kill timer: %u", TimerVal);
		MessageBox (Message, "StopTimer", MB_OK|MB_SYSTEMMODAL);

		return FALSE;
	}

	SetCurrentIcon (IDI_Net0);

	return TRUE;

}

//
///////////////////////////////////////////////////////////////////////////////////
//
//		Sets the current icon image for IDC_Icon
//
///////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::SetCurrentIcon(int IconId)
{
	CStatic *		pDlgWnd;

	m_hIcon = AfxGetApp()->LoadIcon(IconId);

	pDlgWnd=(CStatic*)GetDlgItem(IDC_Icon);
	pDlgWnd->SetIcon(m_hIcon);
	if (IsIconic())
		InvalidateRect(NULL, TRUE);

}

//
///////////////////////////////////////////////////////////////////////////////////
//
//				OnTimer - Timer Input Message Processor
//
//		TimerVal contains the system timer number causing the message.
//
//		This method is used to cycle through each of 4 different icon
//		images to provide a rough animated appearance, but mostly to
//		illustrate how to process timer messages.
//
////////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::OnTimer (UINT TimerVal)
{
	int			IconId;

	switch (IconState % 4)
	{
	case 0:
		IconId = IDI_Net1;
		break;
	case 1:
		IconId = IDI_Net2;
		break;
	case 2:
		IconId = IDI_Net3;
		break;
	case 3:
		IconId = IDI_Net2;
		break;
	default:
		IconId = IDI_Net0;
		break;
	}

	IconState++;

	SetCurrentIcon (IconId);

}

//
///////////////////////////////////////////////////////////////////////////////////
//
//		OnStart - Start a single timer when button is pushed.  Disables button until
//					timer has been stopped.
//
///////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::OnStart() 
{

	if (IconTimer != NULL)
		StopTimer (IconTimer);

	IconTimer = NULL;

	IconTimer = StartTimer (TimerInterval);
	IconState = 0;
		
}

//
///////////////////////////////////////////////////////////////////////////////////
//
//			OnStop - Stop the timer when button pushed.  Reenables Start button.
//
///////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::OnStop() 
{
	if (IconTimer != NULL)
		StopTimer (IconTimer);

	SetCurrentIcon (IDI_Net0);
	IconState = 0;
	IconTimer = NULL;
	
}

//
///////////////////////////////////////////////////////////////////////////////////
//
//		OnOK - stop the timer if it is running and exit the dialog
//
///////////////////////////////////////////////////////////////////////////////////
//

void CIconMoverDlg::OnOK() 
{
	if (IconTimer != NULL)
		StopTimer (IconTimer);
	IconTimer = NULL;

	CDialog::OnOK();
}

//
///////////////////////////////////////////////////////////////////////////////////
//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一卡二卡三卡日韩欧美| 欧美激情在线免费观看| 在线一区二区观看| 成人av电影在线网| 99久久精品免费看国产| 色av成人天堂桃色av| 欧美亚洲动漫精品| 欧美电影在哪看比较好| 精品国产第一区二区三区观看体验 | 色欧美88888久久久久久影院| 国产ts人妖一区二区| 国产91对白在线观看九色| 成人av在线资源网| 在线免费观看日韩欧美| 欧美精品久久天天躁| 精品久久久久久综合日本欧美 | 国产女人水真多18毛片18精品视频 | 国产激情视频一区二区在线观看 | 国产一区二区在线电影| 欧美日本在线观看| 欧美大片在线观看| 中文天堂在线一区| 亚洲一区在线电影| 国内精品国产成人国产三级粉色| 成人理论电影网| 欧美日本韩国一区| 国产日韩欧美精品综合| 亚洲中国最大av网站| 老司机精品视频线观看86| 9l国产精品久久久久麻豆| 欧美猛男gaygay网站| 国产欧美精品区一区二区三区| 亚洲综合在线免费观看| 国产乱子伦视频一区二区三区| 在线观看欧美精品| 国产日产欧美一区二区视频| 亚洲va国产va欧美va观看| 国产精品白丝jk黑袜喷水| 欧美日韩一区二区不卡| 欧美国产一区在线| 免费在线成人网| 在线中文字幕一区| 欧美极品xxx| 美女国产一区二区三区| 欧美在线免费视屏| 国产精品欧美久久久久无广告| 天堂影院一区二区| 91女厕偷拍女厕偷拍高清| 国产亚洲1区2区3区| 日韩成人av影视| 欧美日韩中文字幕一区二区| 国产精品第一页第二页第三页| 韩国v欧美v日本v亚洲v| 欧美精品乱人伦久久久久久| 亚洲激情六月丁香| 99精品欧美一区二区三区小说| 欧美va亚洲va香蕉在线| 免费久久精品视频| 欧美裸体bbwbbwbbw| 亚洲一区二区三区四区五区中文| 成人综合在线网站| 欧美国产视频在线| 国产精品91xxx| 久久毛片高清国产| 国产高清精品久久久久| 久久久久久久久久久99999| 麻豆国产欧美一区二区三区| 91精品国产aⅴ一区二区| 亚洲va欧美va天堂v国产综合| 99精品久久免费看蜜臀剧情介绍| 中文字幕在线免费不卡| 91蜜桃网址入口| 亚洲视频网在线直播| 色婷婷狠狠综合| 亚洲自拍与偷拍| 在线视频一区二区免费| 亚洲大片免费看| 91精品国产综合久久香蕉的特点 | 亚洲国产日韩a在线播放性色| 欧洲色大大久久| 亚洲国产成人av网| 欧美一区二区高清| 狠狠色狠狠色合久久伊人| 26uuuu精品一区二区| 盗摄精品av一区二区三区| 亚洲欧美国产高清| 欧美精选午夜久久久乱码6080| 风间由美中文字幕在线看视频国产欧美| 久久先锋影音av鲁色资源| 懂色av一区二区夜夜嗨| 亚洲精品成人在线| 欧美一区日韩一区| 国产91富婆露脸刺激对白| 亚洲精品免费播放| 日韩欧美资源站| 国产盗摄一区二区三区| 亚洲综合一二区| 日韩欧美精品在线视频| 成人激情午夜影院| 亚洲成av人在线观看| 久久精品在线免费观看| 色婷婷av一区二区三区软件| 日韩高清一区二区| 国产精品日日摸夜夜摸av| 欧美日韩激情一区| 国产福利一区二区三区| 夜夜亚洲天天久久| 久久精品综合网| 欧美高清hd18日本| 成人av网站免费观看| 日韩不卡手机在线v区| 国产精品每日更新| 精品三级av在线| 在线视频国内一区二区| 青青草视频一区| 亚洲精品国产a| 国产亚洲欧洲一区高清在线观看| 91高清视频免费看| 国产精品69久久久久水密桃| 亚洲亚洲人成综合网络| 国产精品久久久久久户外露出| 欧美精品乱码久久久久久| 91网站最新网址| 国产剧情av麻豆香蕉精品| 日韩影院在线观看| 一区二区三区小说| 亚洲欧洲日本在线| 国产午夜久久久久| 欧美大胆一级视频| 538prom精品视频线放| 色哟哟一区二区| 北条麻妃一区二区三区| 狠狠色丁香久久婷婷综合丁香| 五月综合激情网| 亚洲愉拍自拍另类高清精品| 1000精品久久久久久久久| 国产午夜一区二区三区| 久久亚洲一区二区三区明星换脸| 欧美一区二区黄| 日韩一区二区免费电影| 国产精品大尺度| 国产亚洲成av人在线观看导航| 精品区一区二区| 日韩精品中文字幕一区二区三区| 欧美艳星brazzers| 91黄色激情网站| 91传媒视频在线播放| 日本精品一级二级| 91国产成人在线| 欧美精品乱码久久久久久| 欧美日韩国产高清一区二区三区| 在线视频国产一区| 欧美日韩国产精选| 日韩一级高清毛片| 欧美不卡一区二区三区| 久久毛片高清国产| 中文字幕亚洲在| 亚洲免费在线观看| 亚洲一区二三区| 日产国产欧美视频一区精品| 男女激情视频一区| 国精品**一区二区三区在线蜜桃| 国产一区二区不卡| 国产成a人亚洲精品| 91影院在线观看| 欧美日韩你懂的| 欧美va亚洲va在线观看蝴蝶网| 2020国产精品自拍| 国产精品不卡在线观看| 亚洲在线观看免费| 麻豆国产91在线播放| 高清成人在线观看| 欧美日韩亚洲综合| 欧美精品一区二区三区很污很色的 | 夜夜精品浪潮av一区二区三区| 亚洲在线观看免费视频| 久久激情五月激情| av电影在线观看一区| 欧美三日本三级三级在线播放| 日韩亚洲欧美一区二区三区| 国产欧美精品区一区二区三区 | 国产河南妇女毛片精品久久久 | 日韩精品一卡二卡三卡四卡无卡| 欧美bbbbb| 菠萝蜜视频在线观看一区| 欧美中文字幕亚洲一区二区va在线 | 国产在线不卡一卡二卡三卡四卡| 成人午夜视频网站| 欧美日韩色综合| 欧美激情在线看| 天天色综合天天| a亚洲天堂av| 精品美女被调教视频大全网站| 国产精品国产三级国产aⅴ原创| 亚洲午夜成aⅴ人片| 国产精品一区不卡| 欧美片网站yy| 亚洲天堂成人在线观看| 人妖欧美一区二区| 色94色欧美sute亚洲线路二 |