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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hyperlink.cpp

?? VC++課程設(shè)計,CD播放機,運行此程序,可以對CD上的內(nèi)容進行播放,并且可以選擇播放時段
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// HyperLink.cpp : implementation file
//
// HyperLink static control.
//
// Copyright (C) 1997, 1998 Giancarlo Iovino (giancarlo@saria.com)
// All rights reserved. May not be sold for profit.
//
// This code is based on CHyperlink by Chris Maunder.
// "GotoURL" function by Stuart Patterson appeared in the Aug, 1997
// Windows Developer's Journal.
// "Default hand cursor" from Paul DiLascia's Jan 1998 MSJ article.

#include "stdafx.h"
#include "HyperLink.h"

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

#define TOOLTIP_ID 1

#define SETBITS(dw, bits)	(dw |= bits)
#define CLEARBITS(dw, bits)	(dw &= ~(bits))
#define BITSET(dw, bit)		(((dw) & (bit)) != 0L)

/////////////////////////////////////////////////////////////////////////////
// CHyperLink

const DWORD CHyperLink::StyleUnderline		 = 0x00000001;		// Underline bit
const DWORD CHyperLink::StyleUseHover		 = 0x00000002;		// Hand over coloring bit
const DWORD CHyperLink::StyleAutoSize	  	 = 0x00000004;		// Auto size bit
const DWORD CHyperLink::StyleDownClick		 = 0x00000008;		// Down click mode bit
const DWORD CHyperLink::StyleGetFocusOnClick = 0x00000010;		// Get focus on click bit
const DWORD CHyperLink::StyleNoHandCursor	 = 0x00000020;		// No hand cursor bit
const DWORD CHyperLink::StyleNoActiveColor	 = 0x00000040;		// No active color bit

COLORREF CHyperLink::g_crLinkColor		= RGB(0, 0, 255);	// Blue
COLORREF CHyperLink::g_crActiveColor	= RGB(0, 128, 128);	// Dark cyan
COLORREF CHyperLink::g_crVisitedColor	= RGB(128, 0, 128);	// Purple
COLORREF CHyperLink::g_crHoverColor		= RGB(255, 0, 0	);	// Red
HCURSOR	 CHyperLink::g_hLinkCursor		= NULL;				// No cursor

CHyperLink::CHyperLink()
{
	m_bOverControl		= FALSE;	// Cursor not yet over control
	m_bVisited			= FALSE;	// Link has not been visited yet
	m_bLinkActive		= FALSE;	// Control doesn't own the focus yet
	m_strURL.Empty();				// Set URL to an empty string		
	// Set default styles
	m_dwStyle = StyleUnderline|StyleAutoSize|StyleGetFocusOnClick;
}

CHyperLink::~CHyperLink()
{
    m_Font.DeleteObject();
}

IMPLEMENT_DYNAMIC(CHyperLink, CStatic)

BEGIN_MESSAGE_MAP(CHyperLink, CStatic)
    //{{AFX_MSG_MAP(CHyperLink)
    ON_WM_CTLCOLOR_REFLECT()
    ON_WM_SETCURSOR()
    ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONUP()
	ON_WM_SETFOCUS()
	ON_WM_KILLFOCUS()
	ON_WM_KEYDOWN()
	ON_WM_NCHITTEST()
	ON_WM_LBUTTONDOWN()	
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHyperLink message handlers

BOOL CHyperLink::PreTranslateMessage(MSG* pMsg) 
{
    m_ToolTip.RelayEvent(pMsg);
    return CStatic::PreTranslateMessage(pMsg);
}

void CHyperLink::PreSubclassWindow() 
{		    
	// If the URL string is empty try to set it to the window text
    if (m_strURL.IsEmpty())
        GetWindowText(m_strURL);

    // Check that the window text isn't empty.
	// If it is, set it as URL string.
    CString strWndText;
    GetWindowText(strWndText);
    if (strWndText.IsEmpty()) {
		// Set the URL string as the window text
        ASSERT(!m_strURL.IsEmpty());    // window text and URL both NULL!
		CStatic::SetWindowText(m_strURL);
    }

    // Get the current window font	
    CFont* pFont = GetFont();	
	
	if (pFont != NULL) {
		LOGFONT lf;
		pFont->GetLogFont(&lf);
		lf.lfUnderline = BITSET(m_dwStyle, StyleUnderline);
		if (m_Font.CreateFontIndirect(&lf))
			CStatic::SetFont(&m_Font);    
		// Adjust window size to fit URL if necessary
		AdjustWindow();
	}
	else {		
		// if GetFont() returns NULL then probably the static
		// control is not of a text type: it's better to set
		// auto-resizing off
		CLEARBITS(m_dwStyle,StyleAutoSize);
	}
	
	if (!BITSET(m_dwStyle,StyleNoHandCursor))
		SetDefaultCursor();      // Try to load an "hand" cursor

    // Create the tooltip
    CRect rect; 
    GetClientRect(rect);
    m_ToolTip.Create(this);	

    m_ToolTip.AddTool(this, m_strURL, rect, TOOLTIP_ID);

    CStatic::PreSubclassWindow();
}

// Handler for WM_CTLCOLOR reflected message (see message map)
HBRUSH CHyperLink::CtlColor(CDC* pDC, UINT nCtlColor) 
{		
	ASSERT(nCtlColor == CTLCOLOR_STATIC);

	if (m_bOverControl && BITSET(m_dwStyle,StyleUseHover))
		pDC->SetTextColor(g_crHoverColor);
	else if (!BITSET(m_dwStyle,StyleNoActiveColor) && m_bLinkActive)
		pDC->SetTextColor(g_crActiveColor);
	else if (m_bVisited)
		pDC->SetTextColor(g_crVisitedColor);
	else
		pDC->SetTextColor(g_crLinkColor);

	// Set transparent drawing mode
	pDC->SetBkMode(TRANSPARENT);
	return (HBRUSH)GetStockObject(NULL_BRUSH);
}

void CHyperLink::OnMouseMove(UINT nFlags, CPoint point) 
{

	if (m_bOverControl)        // Cursor currently over control
	{
		CRect rect;
		GetClientRect(rect);

		if (!rect.PtInRect(point))
		{
			m_bOverControl = FALSE;
			ReleaseCapture();
			Invalidate();						
			return;
		}			
	}
	else                      // Cursor has left control area
	{
		m_bOverControl = TRUE;
		Invalidate();		
		SetCapture();		
	}
}

//////////////////////////////////////////////////////////////////////////
// "Normally, a static control does not get mouse events unless it has
// SS_NOTIFY. This achieves the same effect as SS_NOTIFY, but it's fewer
// lines of code and more reliable than turning on SS_NOTIFY in OnCtlColor
// because Windows doesn't send WM_CTLCOLOR to bitmap static controls."
// (Paul DiLascia)
UINT CHyperLink::OnNcHitTest(CPoint /*point*/) 
{
		return HTCLIENT;	
}

void CHyperLink::OnLButtonDown(UINT /*nFlags*/, CPoint /*point*/) 
{
	if (BITSET(m_dwStyle,StyleGetFocusOnClick))
		SetFocus();				// Set the focus and make the link active
	if (BITSET(m_dwStyle,StyleDownClick))
		FollowLink();
	m_bLinkActive = TRUE;
}

void CHyperLink::OnLButtonUp(UINT /*nFlags*/, CPoint /*point*/) 
{
	if (m_bLinkActive && !BITSET(m_dwStyle,StyleDownClick))
		FollowLink();
}

BOOL CHyperLink::OnSetCursor(CWnd* /*pWnd*/, UINT /*nHitTest*/, UINT /*message*/) 
{	
	if (g_hLinkCursor)
	{
		::SetCursor(g_hLinkCursor);
		return TRUE;
	}
	return FALSE;
}

void CHyperLink::OnSetFocus(CWnd* /*pOldWnd*/) 
{
	m_bLinkActive = TRUE;
	Invalidate();							// Repaint to set the focus
}

void CHyperLink::OnKillFocus(CWnd* /*pNewWnd*/) 
{	
	// Assume that control lost focus = mouse out
	// this avoid troubles with the Hover color
	m_bOverControl = FALSE;
	m_bLinkActive = FALSE;
	Invalidate();							// Repaint to unset the focus
}

void CHyperLink::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{	
	if (nChar == VK_SPACE)
		FollowLink();
	else
		CStatic::OnKeyDown(nChar, nRepCnt, nFlags);
}

/////////////////////////////////////////////////////////////////////////////
// CHyperLink operations

void CHyperLink::SetColors(	COLORREF crLinkColor,
							COLORREF crActiveColor,
							COLORREF crVisitedColor,
                            COLORREF crHoverColor /* = -1 */) 
{
	g_crLinkColor    = crLinkColor;
	g_crActiveColor	 = crActiveColor;
	g_crVisitedColor = crVisitedColor;	

	if (crHoverColor == -1)
		g_crHoverColor = ::GetSysColor(COLOR_HIGHLIGHT);
	else
		g_crHoverColor = crHoverColor;	
}

void CHyperLink::SetColors(HYPERLINKCOLORS& linkColors) {
	g_crLinkColor	 = linkColors.crLink;
	g_crActiveColor	 = linkColors.crActive;
	g_crVisitedColor = linkColors.crVisited;
	g_crHoverColor	 = linkColors.crHover;
}

void CHyperLink::GetColors(HYPERLINKCOLORS& linkColors) {
	linkColors.crLink = g_crLinkColor;
	linkColors.crActive = g_crActiveColor;
	linkColors.crVisited = g_crVisitedColor;
	linkColors.crHover = g_crHoverColor;
}

void CHyperLink::SetLinkCursor(HCURSOR hCursor) {
	ASSERT(hCursor != NULL);

	g_hLinkCursor = hCursor;
	if (g_hLinkCursor == NULL)
		SetDefaultCursor();
}

HCURSOR CHyperLink::GetLinkCursor() {
	return g_hLinkCursor;
}

BOOL CHyperLink:: ModifyLinkStyle(DWORD dwRemove, DWORD dwAdd,
								  BOOL bApply /* =TRUE */)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本到不卡免费一区二区| 一区二区三区毛片| 国产精品成人一区二区艾草 | 亚洲第一搞黄网站| 日韩国产欧美在线观看| 国产一区在线观看视频| 99re热视频这里只精品| 7777精品伊人久久久大香线蕉经典版下载| 日韩美女主播在线视频一区二区三区| 国产女同互慰高潮91漫画| 亚洲一区电影777| 国产在线观看免费一区| 99久久99久久综合| 欧美大白屁股肥臀xxxxxx| 中文字幕一区二区三区不卡 | 亚洲欧美综合色| 日韩成人一级片| 成人国产视频在线观看| 91精品国产综合久久久久| 中文av字幕一区| 肉色丝袜一区二区| av影院午夜一区| 欧美电影免费观看高清完整版| 18欧美亚洲精品| 美女视频免费一区| 欧洲av一区二区嗯嗯嗯啊| 久久久久久久久蜜桃| 首页国产丝袜综合| 91视频在线观看| 精品国精品国产尤物美女| 亚洲国产日韩一级| 成人国产视频在线观看| 精品久久久网站| 丝袜美腿一区二区三区| 91亚洲精品久久久蜜桃网站| 精品国产免费视频| 日韩电影一二三区| 色狠狠桃花综合| 国产精品另类一区| 精品一区二区三区免费观看| 欧美日韩精品一区二区三区| 国产精品每日更新在线播放网址| 六月婷婷色综合| 欧美日韩一区二区三区视频| 中文字幕精品一区二区精品绿巨人 | 日韩av一级片| 在线观看日韩一区| 亚洲色图丝袜美腿| 国产不卡高清在线观看视频| 欧美大胆一级视频| 奇米四色…亚洲| 欧美高清视频www夜色资源网| 亚洲人一二三区| 高清久久久久久| 国产婷婷色一区二区三区四区 | 国产欧美va欧美不卡在线| 蜜桃视频在线观看一区| 69av一区二区三区| 天天色天天操综合| 欧美性淫爽ww久久久久无| 亚洲欧美日韩国产一区二区三区| 粉嫩av一区二区三区粉嫩| 久久伊人中文字幕| 国内精品视频666| 精品电影一区二区| 精品亚洲成av人在线观看| 日韩一区二区三| 毛片av一区二区| 精品国产青草久久久久福利| 麻豆国产精品官网| 精品国产123| 麻豆精品国产传媒mv男同| 欧美成人伊人久久综合网| 麻豆一区二区三| 欧美成人女星排名| 国产一区二区伦理| 久久久777精品电影网影网| 国产精品一区二区在线观看不卡| 精品国产凹凸成av人网站| 欧美aaa在线| 精品国产91乱码一区二区三区| 久久精品国产精品亚洲红杏| 精品国偷自产国产一区| 国产成人超碰人人澡人人澡| 欧美国产精品专区| 99国产麻豆精品| 亚洲欧美精品午睡沙发| 欧美在线视频你懂得| 日韩精品一卡二卡三卡四卡无卡| 日韩欧美在线123| 国产一区二区三区四区五区入口| 久久久国产精华| www.色精品| 亚洲国产一区二区三区青草影视| 欧美福利电影网| 激情综合网天天干| 国产精品欧美一区喷水| 91美女在线看| 亚洲bt欧美bt精品| 精品国产1区2区3区| 成人av在线网站| 亚洲电影在线免费观看| 日韩色在线观看| 盗摄精品av一区二区三区| 一区二区三区四区中文字幕| 欧美伦理影视网| 国产精品99久久久久久久女警| 国产精品高潮呻吟久久| 欧美亚洲图片小说| 国产一区二区调教| 亚洲三级电影网站| 欧美一区二区久久久| 成人性生交大片免费看视频在线| 一区二区三区四区高清精品免费观看 | 久久久久综合网| 91免费精品国自产拍在线不卡| 亚洲成人动漫精品| 国产午夜精品福利| 欧美日韩免费高清一区色橹橹 | 久久综合五月天婷婷伊人| 96av麻豆蜜桃一区二区| 日韩av在线发布| 亚洲欧洲无码一区二区三区| 欧美一区二区三区啪啪| 99在线精品一区二区三区| 日韩黄色片在线观看| 中文字幕第一页久久| 91精品婷婷国产综合久久性色| 成人精品视频一区二区三区尤物| 视频一区视频二区中文| 欧美激情中文不卡| 日韩一级二级三级| 91最新地址在线播放| 精品系列免费在线观看| 亚洲激情中文1区| 久久精品一二三| 欧美福利视频一区| 91亚洲精品一区二区乱码| 国产毛片精品视频| 丝袜a∨在线一区二区三区不卡| 国产精品护士白丝一区av| 欧美一激情一区二区三区| 色婷婷av一区二区三区软件 | 日韩一级高清毛片| 日本电影亚洲天堂一区| 岛国一区二区三区| 韩国理伦片一区二区三区在线播放 | 成人午夜视频在线观看| 水野朝阳av一区二区三区| 亚洲欧美日本在线| 欧美激情一区三区| 欧美成人精精品一区二区频| 欧美视频在线观看一区| www.欧美.com| 福利电影一区二区| 捆绑紧缚一区二区三区视频| 亚洲国产精品一区二区久久| 中文字幕一区在线| 久久精品视频一区二区三区| 日韩欧美中文字幕精品| 5566中文字幕一区二区电影| 在线国产亚洲欧美| 色偷偷成人一区二区三区91 | 中文字幕佐山爱一区二区免费| 久久精品亚洲一区二区三区浴池| 欧美xxxx在线观看| 日韩免费电影一区| 日韩视频免费观看高清完整版在线观看| 欧洲av在线精品| 欧美主播一区二区三区| 一本一道久久a久久精品| 成人av在线资源网站| 成人黄色国产精品网站大全在线免费观看| 国产在线不卡一卡二卡三卡四卡| 久久精品国产亚洲a| 久久精品国产久精国产爱| 久久机这里只有精品| 精品综合免费视频观看| 精品一区二区三区欧美| 久久se精品一区精品二区| 另类的小说在线视频另类成人小视频在线 | kk眼镜猥琐国模调教系列一区二区 | 欧美精品丝袜久久久中文字幕| 欧美午夜电影一区| 欧美网站大全在线观看| 欧美视频精品在线观看| 欧美日韩国产综合视频在线观看| 欧美午夜理伦三级在线观看| 欧美日韩另类一区| 91精品国产丝袜白色高跟鞋| 欧美一级一级性生活免费录像| 欧美一区二区三区影视| 欧美大片在线观看一区| 久久青草欧美一区二区三区| 国产亚洲欧洲997久久综合| 国产精品萝li| 亚洲激情在线播放| 午夜精品久久久久久久99水蜜桃 | 久久一夜天堂av一区二区三区| 久久久久久毛片|