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

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

?? newheaderctrl.cpp

?? vc++源代碼
?? CPP
字號:
// NewHeaderCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "TLView.h"
#include "NewHeaderCtrl.h"
#include "TLFrame.h"

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

/////////////////////////////////////////////////////////////////////////////
// CNewHeaderCtrl

CNewHeaderCtrl::CNewHeaderCtrl()
{
	m_pImageList = NULL;
	m_RTL = FALSE;
}

CNewHeaderCtrl::~CNewHeaderCtrl()
{
}


BEGIN_MESSAGE_MAP(CNewHeaderCtrl, CHeaderCtrl)
	//{{AFX_MSG_MAP(CNewHeaderCtrl)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNewHeaderCtrl message handlers

void CNewHeaderCtrl::DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct )
{
	CDC dc;

	dc.Attach( lpDrawItemStruct->hDC );

	// Save DC
	int nSavedDC = dc.SaveDC();

/*	if(m_RTL)
	{
		dc.SetViewportOrg(0, 0);
		dc.SetMapMode(MM_TEXT);
	}
*/
	// Get the column rect
	CRect rcLabel( lpDrawItemStruct->rcItem );

/*	CTLFrame *pFrame = (CTLFrame *)GetParent();

	CRect m_clientRect;
	pFrame->m_tree.GetClientRect(&m_clientRect);

	if(m_RTL)
	{
		int left = rcLabel.left;
		int right = rcLabel.right;

		rcLabel.left = m_clientRect.Width() - right;
		rcLabel.right = m_clientRect.Width() - left;
	}
*/
	// Set clipping region to limit drawing within column
	CRgn rgn;
	rgn.CreateRectRgnIndirect( &rcLabel );
	dc.SelectObject( &rgn );
	rgn.DeleteObject();

	// Labels are offset by a certain amount  
	// This offset is related to the width of a space character
	int offset = dc.GetTextExtent(_T(" "), 1 ).cx*2;


	// Draw image from image list

	// Get the column text and format
	TCHAR buf[256];
	HD_ITEM hditem;
	
	hditem.mask = HDI_TEXT | HDI_FORMAT;
	hditem.pszText = buf;
	hditem.cchTextMax = 255;

	GetItem( lpDrawItemStruct->itemID, &hditem );

	// Determine format for drawing column label
	UINT uFormat = DT_SINGLELINE | DT_NOPREFIX | DT_NOCLIP 
						| DT_VCENTER | DT_END_ELLIPSIS ;

	if( hditem.fmt & HDF_CENTER)
		uFormat |= DT_CENTER;
	else if( hditem.fmt & HDF_RIGHT)
		uFormat |= DT_RIGHT;
	else
		uFormat |= DT_LEFT;

	if(!(uFormat & DT_RIGHT))
	{
		// Adjust the rect if the mouse button is pressed on it
		if( lpDrawItemStruct->itemState == ODS_SELECTED )
		{
			rcLabel.left++;
			rcLabel.top += 2;
			rcLabel.right++;
		}

		rcLabel.left += offset;
		rcLabel.right -= offset;

		// Draw column label
		if( rcLabel.left < rcLabel.right )
			dc.DrawText(buf,-1,rcLabel, uFormat);
	}


	int imageIndex;
	if (m_pImageList && 
		m_mapImageIndex.Lookup( lpDrawItemStruct->itemID, imageIndex ) )
	{
		if( imageIndex != -1 )
		{
			if(uFormat & DT_RIGHT)
			// draw to the left of the label
				m_pImageList->Draw(&dc, imageIndex, 
						CPoint( rcLabel.left + offset,offset/3 ),
						ILD_TRANSPARENT );
			else
			// draw to the right
				m_pImageList->Draw(&dc, imageIndex, 
						CPoint( rcLabel.right - dc.GetTextExtent(_T(buf), 1 ).cx*2,offset/3 ),
						ILD_TRANSPARENT );


			// Now adjust the label rectangle
			IMAGEINFO imageinfo;
			if( m_pImageList->GetImageInfo( imageIndex, &imageinfo ) )
			{
				rcLabel.left += offset/2 + 
					imageinfo.rcImage.right - imageinfo.rcImage.left;
			}
		}
	}

	if(uFormat & DT_RIGHT)
	{
		// Adjust the rect if the mouse button is pressed on it
		if( lpDrawItemStruct->itemState == ODS_SELECTED )
		{
			rcLabel.left++;
			rcLabel.top += 2;
			rcLabel.right++;
		}

		rcLabel.left += offset;
		rcLabel.right -= offset;

		// Draw column label
		if( rcLabel.left < rcLabel.right )
			dc.DrawText(buf,-1,rcLabel, uFormat);
	}

/*	if(m_RTL)
	{
		dc.SetViewportOrg(m_clientRect.Width(), 0);
		CSize ext = dc.GetViewportExt();
		ext.cx = ext.cx > 0 ? -ext.cx : ext.cx;

		dc.SetMapMode(MM_ANISOTROPIC);
		dc.SetViewportExt(ext);
	}
*/
	// Restore dc
	dc.RestoreDC( nSavedDC );

	// Detach the dc before returning
	dc.Detach();
}

CImageList* CNewHeaderCtrl::SetImageList( CImageList* pImageList )
{
	CImageList *pPrevList = m_pImageList;
	m_pImageList = pImageList;
	return pPrevList;
}

int CNewHeaderCtrl::GetItemImage( int nItem )
{
	int imageIndex;
	if( m_mapImageIndex.Lookup( nItem, imageIndex ) )
		return imageIndex;
	return -1;
}

void CNewHeaderCtrl::SetItemImage( int nItem, int nImage )
{
	// Save the image index
	m_mapImageIndex[nItem] = nImage;

	// Change the item to ownder drawn
	HD_ITEM hditem;

	hditem.mask = HDI_FORMAT;
	GetItem( nItem, &hditem );
	hditem.fmt |= HDF_OWNERDRAW;
	SetItem( nItem, &hditem );

	// Invalidate header control so that it gets redrawn
	Invalidate();
}

void CNewHeaderCtrl::Autofit(int nOverrideItemData /*= -1*/, int nOverrideWidth /*= 0*/)
{
	int nItemCount = GetItemCount();
	int nTotalWidthOfColumns = 0;
	int nDifferenceInWidht;
	int nItem;
	HD_ITEM hi;
	CRect rClient;

	if (!m_bAutofit)
		return;

	SetRedraw(FALSE);

	GetParent()->GetClientRect(&rClient);
	if (-1 != nOverrideItemData)
		rClient.right -= nOverrideWidth;

	// Get total width of all columns
	for (nItem = 0; nItem < nItemCount; nItem++)
	{
		if (nItem == nOverrideItemData)	// Don't mess with the item being resized by the user
			continue;

		hi.mask = HDI_WIDTH;
		GetItem(nItem, &hi);

		nTotalWidthOfColumns += hi.cxy;
	}

	if (nTotalWidthOfColumns != rClient.Width())
	{
		nDifferenceInWidht = abs(nTotalWidthOfColumns-rClient.Width());	// We need to shrink/expand all columns!
		
		// Shrink/expand all columns proportionally based on their current size
		for (nItem = 0; nItem < nItemCount; nItem++)
		{
			if (nItem == nOverrideItemData)	// Skip the overrride column if there is one!
				continue;
			
			hi.mask = HDI_WIDTH;
			GetItem(nItem, &hi);

			hi.mask = HDI_WIDTH;
			hi.cxy = (hi.cxy * rClient.Width()) / nTotalWidthOfColumns;

			SetItem(nItem, &hi);
		}
	}

	SetRedraw(TRUE);
	Invalidate();
}

void CNewHeaderCtrl::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

/*	CTLFrame *pFrame = (CTLFrame *)GetParent();

	CRect m_clientRect;
	pFrame->m_tree.GetClientRect(&m_clientRect);

	if(m_RTL)
	{
		dc.SetViewportOrg(m_clientRect.Width(), 0);
		CSize ext = dc.GetViewportExt();
		ext.cx = ext.cx > 0 ? -ext.cx : ext.cx;

		dc.SetMapMode(MM_ANISOTROPIC);
		dc.SetViewportExt(ext);
	}
*/
	CWnd::DefWindowProc( WM_PAINT, (WPARAM)dc.m_hDC, 0 );

/*	if(m_RTL)
	{
		dc.SetViewportOrg(0, 0);
		dc.SetMapMode(MM_TEXT);
	}*/
	// Do not call CHeaderCtrl::OnPaint() for painting messages
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区男女羞羞无遮挡 | 亚洲欧美日韩国产综合在线| 一本大道av伊人久久综合| 国产丝袜美腿一区二区三区| 性久久久久久久久| 欧美va在线播放| 亚洲视频免费看| 91在线丨porny丨国产| 亚洲成a人v欧美综合天堂| 日韩美女主播在线视频一区二区三区| 美腿丝袜亚洲三区| 成人国产精品免费网站| 欧美一区二区观看视频| 樱桃视频在线观看一区| 懂色av中文一区二区三区| 日韩免费视频一区二区| 亚洲成av人片www| 色综合一个色综合| 欧美一二三区精品| 国产成人午夜精品5599| 欧美成人高清电影在线| 欧美tk丨vk视频| 18成人在线观看| 免费成人在线视频观看| 欧美一区二区三区免费在线看| 欧美人与z0zoxxxx视频| 91精品福利在线| 日韩欧美国产电影| 欧美国产国产综合| 精品欧美一区二区久久| 亚洲国产精品二十页| 日韩精品一区二区三区四区| 日韩欧美在线影院| 欧美日韩你懂的| 91看片淫黄大片一级| 2014亚洲片线观看视频免费| 国产精品国产自产拍在线| 亚洲伦理在线精品| 国产精品一区二区久久不卡| 欧美性生活一区| 亚洲品质自拍视频网站| 精品无人区卡一卡二卡三乱码免费卡| 风流少妇一区二区| 99国产精品久久久久久久久久| 欧美精品粉嫩高潮一区二区| 一区二区久久久久| av亚洲精华国产精华精华| 亚洲欧美怡红院| 国产精品久久99| 久久综合久久综合久久| 久久久国产精品麻豆 | 欧美日韩免费一区二区三区| 9i在线看片成人免费| 日韩欧美精品三级| 国产高清久久久| 7777精品伊人久久久大香线蕉完整版| 99re视频这里只有精品| 欧美色偷偷大香| 亚洲国产高清不卡| 国产精品一二三四| 欧美美女网站色| 欧美四级电影在线观看| 一区二区三区免费在线观看| 色网站国产精品| 一区二区三区在线免费播放 | 日韩国产欧美在线播放| 欧美亚洲综合另类| 喷白浆一区二区| 久久精品人人做人人爽97| 高清不卡一区二区| 亚洲柠檬福利资源导航| 丁香五精品蜜臀久久久久99网站| 亚洲欧美日韩一区| 欧美精品黑人性xxxx| 国产在线视频一区二区| 久久综合视频网| 欧洲精品一区二区| 久久99精品国产.久久久久 | 亚洲高清视频在线| 国产色爱av资源综合区| 色婷婷久久99综合精品jk白丝| 免费黄网站欧美| 亚洲精品成人精品456| 日韩欧美一级在线播放| 成人av中文字幕| 日本视频中文字幕一区二区三区| 国产精品美女久久久久久久 | 成人高清视频免费观看| 亚洲国产精品成人久久综合一区 | 欧美xxxxxxxxx| 精品视频一区二区三区免费| 成人高清在线视频| 国产一区二区精品久久91| 婷婷久久综合九色综合绿巨人 | 日本一区二区三区国色天香| 欧美日韩国产一区二区三区地区| 成人美女在线观看| 国产裸体歌舞团一区二区| 久久97超碰国产精品超碰| 亚洲大型综合色站| 水野朝阳av一区二区三区| 亚洲欧美激情视频在线观看一区二区三区| 在线亚洲精品福利网址导航| 韩国精品久久久| 国产成人精品综合在线观看 | 色狠狠综合天天综合综合| 成人avav影音| 99精品欧美一区二区蜜桃免费| 国产69精品久久久久777| 成人性生交大片免费看中文网站 | 久久久美女毛片| 国产精品久久久久久久久免费樱桃| 日韩亚洲欧美在线| 精品日韩av一区二区| 久久久精品免费网站| 中文字幕精品一区二区精品绿巨人| 国产精品久久久爽爽爽麻豆色哟哟 | 一区二区三区免费| 久久精品国产在热久久| 波波电影院一区二区三区| 国产91在线看| 欧美美女bb生活片| 国产欧美一区二区三区鸳鸯浴 | 色哟哟精品一区| 日韩一二三四区| 亚洲国产欧美另类丝袜| 亚洲午夜久久久| 日韩电影在线免费观看| 亚洲黄色免费电影| 日韩三级中文字幕| 亚洲欧美偷拍卡通变态| 精品影视av免费| 91精品一区二区三区在线观看| 中文字幕佐山爱一区二区免费| 美女诱惑一区二区| 欧美变态口味重另类| 国产一区二区三区av电影| 欧美精品一区二区在线观看| 亚洲国产cao| 色综合久久综合| 911精品国产一区二区在线| 17c精品麻豆一区二区免费| 国产精品亚洲第一| 亚洲人成人一区二区在线观看 | 欧美四级电影在线观看| 丝袜亚洲另类欧美| 国产色婷婷亚洲99精品小说| 成人免费视频免费观看| 亚洲国产成人av| 久久人人爽爽爽人久久久| 成人精品小蝌蚪| 午夜成人在线视频| 久久久午夜精品| 91丝袜美女网| 国产在线国偷精品免费看| 亚洲欧洲日本在线| 91精品国产免费| 色综合天天综合| 国产最新精品免费| 亚洲国产日韩一级| 国产精品久线观看视频| 日韩欧美一区二区免费| 色呦呦日韩精品| 成人天堂资源www在线| 免费成人性网站| 亚洲福利国产精品| 国产精品久久久一区麻豆最新章节| 制服丝袜在线91| 欧美亚洲国产怡红院影院| 国产成人av影院| 精品一二三四在线| 久久精品av麻豆的观看方式| 一区二区三区在线免费视频| 国产精品灌醉下药二区| 国产欧美中文在线| 欧美激情一区二区三区蜜桃视频| xf在线a精品一区二区视频网站| 欧美色视频在线| 欧美日韩一区小说| 777久久久精品| 91精品久久久久久久99蜜桃 | 亚洲精品一二三| 亚洲日本成人在线观看| 亚洲人成网站影音先锋播放| 一区二区在线观看不卡| 亚洲夂夂婷婷色拍ww47| 亚洲综合在线五月| 日本中文字幕一区二区视频| 日本成人在线视频网站| 国产精品77777竹菊影视小说| 国产一区在线不卡| 91免费在线看| 在线播放一区二区三区| 久久久国产综合精品女国产盗摄| 7777精品伊人久久久大香线蕉超级流畅| 欧美日韩成人综合在线一区二区| 91精品国产91久久久久久一区二区| 亚洲精品在线免费观看视频| 中文字幕佐山爱一区二区免费| 午夜久久久久久|