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

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

?? magicframe.cpp

?? 強大易用的郵件收發客戶端
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// Copyright (C) 1997-2002 Valeriy Ovechkin
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// MagicFrame.cpp : implementation of the CMagicFrame class
//
/////////////////////////////////////////////////////////////////////
//
//   File : MagicFrame.cpp
//   Description : Main frame
//
//   Modification history ( date, name, description ) : 
//		1.	17.12.2002	Igor Green, mmm3@grigsoft.com
//			Fixed toolbar problem
//
//HISTORY_ENTRY_END:1!17.12.2002
/////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Magic.h"
#include "Mailbox.h"
#include "Excerpt.h"
#include "MagicDoc.h"
#include "MailboxView.h"
#include "ExcerptView.h"
#include "OptionsPage.h"
#include "CommandPage.h"
#include "PlaybackPage.h"
#include "MagicFrame.h"
#include "resrc1.h"
#include "getwinver.h"
#include "tools.h"
#include "advoptionspage.h"
#include "enbitmap.h"
#include "actppage.h"
#include "cregexp.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMagicFrame

IMPLEMENT_DYNCREATE(CMagicFrame, CFrameWnd)

const UINT WM_TASKBARCREATED = 
    ::RegisterWindowMessage(_T("TaskbarCreated"));

BEGIN_MESSAGE_MAP(CMagicFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMagicFrame)
	ON_WM_CREATE()
	ON_WM_TIMER()
	ON_COMMAND(ID_RESTORE, OnRestore)
	ON_UPDATE_COMMAND_UI(ID_RESTORE, OnUpdateRestore)
	ON_COMMAND(ID_PREFERENCES, OnPreferences)
	ON_WM_ENTERIDLE()
	ON_COMMAND(ID_QUICK_SEND, OnQuickSend)
	ON_COMMAND(ID_SUSPEND, OnSuspend)
	ON_UPDATE_COMMAND_UI(ID_SUSPEND, OnUpdateSuspend)
	ON_WM_ENDSESSION()
	ON_UPDATE_COMMAND_UI(IDC_FIRST_LANGUAGE, OnUpdateFirstLanguage)
	ON_COMMAND(ID_FILE_APPLYFILTERS, OnFileApplyfilters)
	ON_COMMAND(ID_FRIENDS, OnFriends)
	ON_WM_CLOSE()
	ON_WM_INITMENUPOPUP()
	ON_COMMAND(ID_VIEW_DEL_LOG, OnViewDelLog)
	ON_COMMAND(ID_KILL_SPAM, OnKillSpam)
	ON_COMMAND(ID_TEST_RE, OnTestRe)
	ON_COMMAND(ID_FILTERS, OnFilters)
	ON_WM_COPYDATA()
	ON_WM_QUERYENDSESSION()
	//}}AFX_MSG_MAP
	ON_COMMAND_RANGE(IDC_FIRST_LANGUAGE, IDC_LAST_LANGUAGE, OnLanguageSelect)
	ON_COMMAND_EX(ID_VIEW_STATUS_BAR, OnMyBarCheck)
	ON_COMMAND_EX(ID_VIEW_TOOLBAR, OnMyBarCheck)

	ON_WM_SYSCOMMAND()
	ON_WM_ENTERMENULOOP()
	ON_WM_EXITMENULOOP()
	ON_WM_ACTIVATE()

	ON_MESSAGE( VM_TASKBAR_NOTIFICATION, OnTaskbarNotification )
	ON_MESSAGE( VM_END_RESOLVE_HOST_BY_NAME, OnEndResolveHostByName )
	ON_MESSAGE( VM_START_COMMAND, OnStartCommand )
	ON_MESSAGE( VM_START_PLAYBACK, OnStartPlayback )
	ON_MESSAGE( VM_START_MESSAGE, OnStartMessage )
	ON_MESSAGE( VM_TEST_MESSAGE, OnTestMessage )
	
	ON_MESSAGE( VM_UPDATEITEM, OnUpdateItem )
	ON_MESSAGE( MM_MCINOTIFY, OnMciNotify )

	ON_COMMAND( ID_HELP_FINDER, CFrameWnd::OnHelpFinder )
	ON_COMMAND( ID_HELP, CFrameWnd::OnHelp )
	ON_COMMAND( ID_CONTEXT_HELP, CFrameWnd::OnContextHelp )
	ON_COMMAND( ID_DEFAULT_HELP, CFrameWnd::OnHelpFinder )

	ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipText)
	ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipText)
	ON_REGISTERED_MESSAGE( WM_TASKBARCREATED, OnTaskBarCreated )
END_MESSAGE_MAP()

static UINT indicators_when_menu[] =
{
	ID_SEPARATOR,           // status line indicator
};

static UINT indicators_when_no_menu[] =
{
	ID_INDICATOR_OBJECTS,
	ID_INDICATOR_CONTENTS,
};

/////////////////////////////////////////////////////////////////////////////
// CMagicFrame construction/destruction

CMagicFrame::CMagicFrame()
:	m_bIsAlternativeIcon( true ),
	m_uintTimer( 0 ),
	m_bFlashNewMail( false )
{
	m_bListReady = FALSE;
}

CMagicFrame::~CMagicFrame()
{
}

LRESULT CMagicFrame::OnTaskBarCreated( WPARAM, LPARAM )
{
	// install the taskbar icon
	m_nidA.cbSize = sizeof( NOTIFYICONDATA );
	m_nidA.hWnd = m_hWnd;
	m_nidA.uID = 1;
	m_nidA.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
	m_nidA.uCallbackMessage = VM_TASKBAR_NOTIFICATION;
	m_nidA.hIcon = m_hMailboxEmpty16;
	m_nidA.szTip[0] = 0;
	VERIFY( Shell_NotifyIcon( NIM_ADD, &m_nidA ) );

	return 0;
}

void CMagicFrame::SetIndicators( BOOL bMenuIsOn )
{
	UINT nID, nStyle;
	int cxWidth;

	if( bMenuIsOn )
	{
		m_wndStatusBar.SetIndicators( indicators_when_menu, sizeof(indicators_when_menu)/sizeof(UINT) );
		m_wndStatusBar.GetPaneInfo( 0, nID, nStyle, cxWidth );
		m_wndStatusBar.SetPaneInfo( 0, nID, SBPS_STRETCH | SBPS_NOBORDERS, cxWidth );
	}
	else
	{
		m_wndStatusBar.SetIndicators( indicators_when_no_menu, sizeof(indicators_when_no_menu)/sizeof(UINT));
		m_wndStatusBar.GetPaneInfo( 0, nID, nStyle, cxWidth );
		m_wndStatusBar.SetPaneInfo( 0, nID, SBPS_NORMAL, 128 );

		m_wndStatusBar.GetPaneInfo( 1, nID, nStyle, cxWidth );
		m_wndStatusBar.SetPaneInfo( 1, nID, SBPS_STRETCH | SBPS_NORMAL, 128 );
	}
}

CImageList ToolbarImages;
CEnBitmap	bmToolbar;
CImageList ToolbarImagesD;
int CMagicFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if ( -1 == CFrameWnd::OnCreate(lpCreateStruct) ) return -1;

	m_hMailboxFull = theApp.m_imgMailbox.ExtractIcon(II_FULL);//theApp.LoadIcon( IDI_MAILBOX_FULL );
	m_hMailboxEmpty = theApp.m_imgMailbox.ExtractIcon(II_EMPTY);//theApp.LoadIcon( IDI_MAILBOX_EMPTY );
	if (theApp.m_nWindowsVersion >= WXP)
	{
		//m_hMailboxFull16 = theApp.LoadIcon( IDI_MAILBOX_FULL );
		//m_hMailboxEmpty16 = theApp.LoadIcon( IDI_MAILBOX_EMPTY );
		m_hMailboxFull16 = theApp.m_imgMailbox.ExtractIcon(II_FULL);
		m_hMailboxEmpty16 = theApp.m_imgMailbox.ExtractIcon(II_EMPTY);
	}
	else
	{
		m_hMailboxFull16 = theApp.LoadIcon( IDI_MAILBOX_FULL_16 );
		m_hMailboxEmpty16 = theApp.LoadIcon( IDI_MAILBOX_EMPTY_16 );
	}
	m_hMailboxSuspended = theApp.LoadIcon( IDR_OVERLAYSUSPENDED );

	// status bar 
	m_wndStatusBar.Create( this );
	SetIndicators( FALSE );

	// tool bar 
	VERIFY( m_wndToolBar.Create( this ) );
	
	m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT);
	m_wndToolBar.LoadToolBar( IDR_TOOLBAR );

	CWindowDC SDC(NULL);  // screen device context
	int nRasterCaps= SDC.GetDeviceCaps(BITSPIXEL);
	if (nRasterCaps>8)
	{
		CSize sz(16, 15);
		// try loading another picture
		CString sBmpFile;
		BOOL bExtFile = FindLocalFile("mmm3glyphs.bmp", sBmpFile, FALSE);
		HANDLE hBitmap = NULL;
		int nColors = 8;
		if (bExtFile)
		{
			hBitmap = ::LoadImage(NULL, sBmpFile, IMAGE_BITMAP, 0, 0,
				LR_LOADFROMFILE);
			if (!hBitmap)
				bExtFile = FALSE;
			BITMAP bmp;
			int nObj = CEnBitmap::GetFileData(sBmpFile, &bmp);
			if (!nObj)
				bExtFile = FALSE;
			else
			{
				sz.cy = bmp.bmHeight;
				if (sz.cy <= 16)
					sz.cx = 16;
				else if (sz.cy==24)
					sz.cx = 24;
				else if (sz.cy==32)
					sz.cx = 32;
				nColors = bmp.bmBitsPixel;
			}
		}
		if (bExtFile && nColors == 32 && (theApp.m_nWindowsVersion < W2K))	// do not allow full color in 9x
			bExtFile = FALSE;
		CEnBitmap bmp;
		if (bExtFile)
		{
			bmp.Attach(CopyImage(hBitmap, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG));
			bmToolbar.Attach(hBitmap);
		}
		else
		{
			/*
			if (theApp.m_nWindowsVersion < WNTFIRST)
			{
				bmToolbar.LoadBitmap(IDB_TB_98);
				bmp.LoadBitmap(IDB_TB_98);
			}
			else
			*/
			{
				sz.cx = 24;
				sz.cy = 24;
				nColors = 24;
				bmToolbar.LoadBitmap(IDB_FULLCOLORTB);
				bmp.LoadBitmap(IDB_FULLCOLORTB);
			}
		}
		
		if (nColors == 32)
		{
			ToolbarImages.Create(sz.cx, sz.cy, ILC_COLOR32|ILC_MASK, 18, 1);
			if (bmToolbar.ApplyAlpha(GetSysColor(COLOR_BTNFACE)))
				ToolbarImages.Add(&bmToolbar, (CBitmap *)NULL);
			else
				ToolbarImages.Add(&bmToolbar, GetSysColor(COLOR_BTNFACE));
		}
		else
		{
			ToolbarImages.Create(sz.cx, sz.cy, ILC_COLOR24|ILC_MASK, 18, 1);
			ToolbarImages.Add(&bmToolbar, RGB(255, 0, 255));
		}
		CSize sizeButton(sz.cx + 7, sz.cy + 7);
		m_wndToolBar.SetSizes(sizeButton, sz);
		m_wndToolBar.GetToolBarCtrl().SetImageList(&ToolbarImages);
		// disabled images
		if (nColors>8)
			bmp.MakeDisabled32(RGB(255, 0, 255), sz.cx);
		else
			bmp.MakeDisabled(RGB(255, 0, 255), sz.cx);
		if (nColors == 32)
		{
			bmp.ApplyAlpha(GetSysColor(COLOR_BTNFACE));
			ToolbarImagesD.Create(sz.cx, sz.cy, ILC_COLOR32|ILC_MASK, 18, 1);
			ToolbarImagesD.Add(&bmp, (CBitmap *)NULL);
		}
		else
		{
			ToolbarImagesD.Create(sz.cx, sz.cy, ILC_COLOR24|ILC_MASK, 18, 1);
			ToolbarImagesD.Add(&bmp, RGB(255, 0, 255));
		}
		m_wndToolBar.GetToolBarCtrl().SetDisabledImageList(&ToolbarImagesD);
	}

	m_wndToolBar.SetBarStyle( m_wndToolBar.GetBarStyle() | 
		CBRS_TOOLTIPS);

	if (theApp.m_dwFlags & MMF_NO_STATUS)
		m_wndStatusBar.ShowWindow(FALSE);
	if (theApp.m_dwFlags & MMF_NO_TOOLBAR)
		m_wndToolBar.ShowWindow(FALSE);

	// install the taskbar icon
	OnTaskBarCreated( 0, 0 );

	m_uintTimer = SetTimer( 1, 60000, NULL );
	if( !m_uintTimer )
	{
		AfxMessageBox( IDP_TIMER_CREATE_FAILED );
	}

	// kick off the icon animation
	if( theApp.bIsSuspended )
	{
		CreateWatchDog( 1 );
	}

	MenuTranslate(GetMenu()->m_hMenu);

	if( theApp.rcWnd.right )
	{
		WINDOWPLACEMENT wp;
		wp.length = sizeof(WINDOWPLACEMENT);
		wp.flags = 0;
		wp.ptMinPosition.x = -1;
		wp.ptMinPosition.y = -1;
		wp.ptMaxPosition.x = -1;
		wp.ptMaxPosition.y = -1;
		CopyRect(&wp.rcNormalPosition, &theApp.rcWnd);
		if (theApp.intStartAlwaysHidden)
			wp.showCmd = SW_HIDE;
		else if (theApp.m_dwFlags & MMF_MAXIMIZED)
		{
			wp.showCmd = SW_HIDE;	// if we show as maximized now, it loses normal position for some reason
			theApp.m_nCmdShow = SW_SHOWMAXIMIZED;
		}
		else
			wp.showCmd = SW_NORMAL;
		if (theApp.m_dwFlags & MMF_MAXIMIZED && theApp.intStartAlwaysHidden )
			wp.flags = WPF_RESTORETOMAXIMIZED;
		SetWindowPlacement(&wp);
	}

	return 0;
}

/////////////////////////////////////////////////////////////////////////////
// CMagicFrame diagnostics

#ifdef _DEBUG
void CMagicFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMagicFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMagicFrame message handlers

void CMagicFrame::SaveSettings()
{
	WINDOWPLACEMENT wndplMain;
	GetWindowPlacement( &wndplMain );
	theApp.rcWnd = wndplMain.rcNormalPosition;
	BOOL bMax = (wndplMain.showCmd == SW_SHOWMAXIMIZED) || 
				( (wndplMain.showCmd == SW_SHOWMINIMIZED) && wndplMain.flags == WPF_RESTORETOMAXIMIZED);
	SetBoolFlag(theApp.m_dwFlags,  MMF_MAXIMIZED, bMax);

	RECT rc;
	m_wndSplitter.GetPane( 0, 0 )->GetClientRect( &rc );
	theApp.intSplitterPos = rc.bottom;

	// Save/LoadBarState is not compatible, if list of bar is changed
	// Done in OnMyBarCheck
}

BOOL CMagicFrame::DestroyWindow() 
{
	VERIFY( Shell_NotifyIcon( NIM_DELETE, &m_nidA ) );
	KillTimer( m_uintTimer );

	//SaveSettings();

	return CFrameWnd::DestroyWindow();
}

void CMagicFrame::OnTimer(UINT nIDEvent) 
{
	if( m_uintTimer != nIDEvent ) CFrameWnd::OnTimer( nIDEvent );
	else PostMessage( WM_COMMAND, ID_TIMER_CHECK );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美中文字幕一区| 成人av资源网站| 亚洲国产精品尤物yw在线观看| 欧美极品美女视频| 国产女人aaa级久久久级 | 日韩av一区二区在线影视| 一区二区久久久久| 亚洲国产综合在线| 日韩av电影一区| 国内精品写真在线观看| 国产精品18久久久久久vr| 高清成人在线观看| a亚洲天堂av| 欧美日韩久久久| 欧美一区二区三区在线视频| 日韩精品最新网址| 欧美国产乱子伦 | 欧美日本不卡视频| 91麻豆精品国产自产在线| 欧美成人精品二区三区99精品| 精品理论电影在线| 自拍偷拍亚洲综合| 视频精品一区二区| 国产一区二区三区久久久| 成人午夜视频网站| 欧美性欧美巨大黑白大战| 欧美精品777| 国产亚洲一区二区在线观看| 亚洲男人天堂av| 日本不卡123| 成人精品视频一区| 9191国产精品| 国产精品嫩草影院av蜜臀| 亚洲狠狠爱一区二区三区| 国产一区视频导航| 91国产福利在线| 欧美精品一区二区三区在线播放| 亚洲欧洲国产专区| 欧美aaaaa成人免费观看视频| 国产成人精品一区二区三区网站观看| av电影一区二区| 日韩你懂的电影在线观看| 中文字幕字幕中文在线中不卡视频| 夜夜精品视频一区二区| 国产精品一二三区在线| 欧美色图在线观看| 中文字幕欧美激情一区| 蜜臀av一区二区| 在线观看成人小视频| 国产情人综合久久777777| 三级在线观看一区二区| 97久久精品人人做人人爽50路| 日韩欧美资源站| 亚洲成国产人片在线观看| 91丨九色porny丨蝌蚪| 久久综合久久综合九色| 日本成人在线看| 欧美日韩综合一区| 亚洲精品高清视频在线观看| 懂色av噜噜一区二区三区av| 日韩欧美视频一区| 三级亚洲高清视频| 欧美日韩国产综合视频在线观看 | 亚洲日本免费电影| 成人综合在线视频| 国产欧美一区二区精品性| 九九在线精品视频| 欧美大片在线观看一区二区| 三级欧美在线一区| 日韩欧美的一区| 激情综合网最新| 日韩情涩欧美日韩视频| 美女视频黄免费的久久| 欧美一级二级在线观看| 丝袜美腿亚洲综合| 日韩一区二区在线免费观看| 久久机这里只有精品| 日韩欧美国产一区二区三区| 日本中文字幕一区二区有限公司| 欧美日韩的一区二区| 天天色综合天天| 欧美大肚乱孕交hd孕妇| 国产一区二区电影| 国产精品五月天| 一本大道av一区二区在线播放| 一区二区三区在线观看视频| 欧美性videosxxxxx| 亚洲成人动漫在线免费观看| 69p69国产精品| 美日韩一区二区| 久久久亚洲综合| 99国产精品久久久久久久久久久| 中文字幕一区二区不卡| 在线观看国产精品网站| 美女脱光内衣内裤视频久久网站 | 不卡视频免费播放| 亚洲丝袜另类动漫二区| 欧美日韩一区在线观看| 日本成人在线网站| 中文字幕欧美三区| 欧美日韩在线播放三区四区| 美女www一区二区| 国产精品每日更新在线播放网址| 91社区在线播放| 午夜国产精品影院在线观看| 欧美精品一区二区久久久 | 亚洲免费av观看| 欧美精品一卡二卡| 国产乱人伦偷精品视频免下载 | 欧美大片免费久久精品三p| 国内精品第一页| 亚洲美女在线一区| 精品日韩在线一区| 99热99精品| 精品一区二区在线观看| 亚洲欧洲综合另类| 精品理论电影在线观看| 色哟哟一区二区| 久久97超碰色| 伊人一区二区三区| 久久久久久亚洲综合| 91久久人澡人人添人人爽欧美 | 色av综合在线| 激情都市一区二区| 一区二区三区**美女毛片| 26uuu亚洲综合色欧美| 在线视频一区二区三区| 国产另类ts人妖一区二区| 天天综合色天天综合色h| 成人欧美一区二区三区白人| 久久久久久久久岛国免费| 日韩一区二区三区电影在线观看 | 国产精品77777| 蜜桃视频在线观看一区| 亚洲小少妇裸体bbw| 亚洲天堂久久久久久久| 久久久久高清精品| 精品国产a毛片| 337p亚洲精品色噜噜| 欧美三日本三级三级在线播放| 91在线观看免费视频| 成人精品电影在线观看| 国产精品一区二区免费不卡| 美女脱光内衣内裤视频久久网站| 亚洲成人一区在线| 亚洲综合另类小说| 亚洲欧美日韩成人高清在线一区| 久久久av毛片精品| 久久影视一区二区| 久久综合一区二区| 精品国产电影一区二区| 欧美不卡在线视频| 日韩美一区二区三区| 欧美一二三在线| 精品对白一区国产伦| 久久久精品人体av艺术| 久久久精品欧美丰满| 欧美国产一区在线| 最新不卡av在线| 亚洲精品日产精品乱码不卡| 亚洲乱码中文字幕| 一区二区在线观看视频在线观看| 一区二区三区中文字幕电影| 亚洲免费av观看| 天堂一区二区在线免费观看| 免费人成黄页网站在线一区二区| 久久精品国产999大香线蕉| 韩国av一区二区| 国产成人无遮挡在线视频| 91视频在线观看| 欧美日韩一区高清| 日韩丝袜美女视频| 国产亚洲欧洲997久久综合 | 国产成人免费av在线| va亚洲va日韩不卡在线观看| 91啪九色porn原创视频在线观看| 色爱区综合激月婷婷| 日韩视频一区在线观看| 久久免费偷拍视频| 亚洲在线视频免费观看| 免费成人你懂的| 国产成人在线免费| 欧美日韩另类一区| 欧美tickling网站挠脚心| 国产日产精品一区| 亚洲高清免费视频| 国产一区二区不卡在线| 色就色 综合激情| 欧美xfplay| 亚洲综合激情另类小说区| 久久国产精品第一页| 91影视在线播放| 精品国产污网站| 亚洲综合色视频| 国产激情精品久久久第一区二区| 在线精品国精品国产尤物884a| 欧美成人r级一区二区三区| 亚洲精品视频观看| 成人在线综合网| 777久久久精品|