示例#1
0
void CSearchBarCtrl::OnPaint()
{
	CPaintDC dc(this);

	CRect rtTriangle;
	CRect rtBack;
	

	CClientRect	rtClient(this);
	CBufferDC	bufDC(dc.GetSafeHdc(), rtClient);
	rtTriangle.CopyRect(rtClient);

	SendMessage(WM_ERASEBKGND, (WPARAM) bufDC.GetSafeHdc(), 1);

	CSize	sizeIcon;
	CRect	rtIcon;
	CFaceManager::GetInstance()->GetImageSize(m_nCurrentIcon, sizeIcon);
	CenterRect(&rtIcon, rtClient, sizeIcon);

	rtIcon.left = rtClient.left + MARGIN_WIDTH;
	rtIcon.top = rtClient.top + MARGIN_WIDTH;
	rtIcon.right = rtIcon.left + sizeIcon.cx;

	rtBack.left = rtClient.left + 2;
	rtBack.top = rtClient.top + 2;
	rtBack.bottom = rtClient.bottom;
	rtBack.right = sizeIcon.cx - 8;


	if (m_bHover)
	{
		bufDC.FillSolidRect(rtBack, RGB(226,226,226));//RGB(238,236,221)
	}
	else
	{
		bufDC.FillSolidRect(rtBack, RGB(240,240,240));//RGB(238,236,221)
	}

	{
		CPenDC pen(bufDC.GetSafeHdc(), RGB(200,200,200));


		bufDC.MoveTo(rtBack.bottom + 6, rtBack.top - 1);
		bufDC.LineTo(rtBack.bottom + 6, rtBack.right - 5);

	}

	m_ImageList.Draw(&bufDC, m_nCurrentIcon, CPoint(rtIcon.left, rtIcon.top), ILD_NORMAL);

	rtTriangle.left = rtClient.left + MARGIN_WIDTH + 1;
	rtTriangle.bottom = rtClient.bottom - rtClient.Height()/2 + MARGIN_WIDTH;
	rtTriangle.right = rtTriangle.left + sizeIcon.cx;


	DrawTriangle(&bufDC, rtTriangle);

}
示例#2
0
BOOL CImageWindow::__Create()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	if( !m_pImpl->Create(CImageWindow_Impl::IDD, GetParent()) ) return FALSE;

	m_pImpl->ShowWindow(SW_SHOW);

	CRect rtClient(0, 0, 0, 0);
	GetClientRect(&rtClient);

	m_pImpl->MoveWindow(rtClient);

	return TRUE;
}
示例#3
0
void CToolBarCtrlZ::OnPaint()
{
	CPaintDC dc(this); // device context for painting
	
	CRect		rtClip;
	dc.GetClipBox(&rtClip);

	CClientRect	rtClient(this);
	CBufferDC	bufDC(dc.GetSafeHdc(), rtClient);

	if (!DrawBk(&bufDC, rtClient))
		DrawParentBk(GetSafeHwnd(), bufDC.GetSafeHdc());

	int			i;
	CRect		rtItem;
	CRect		rtInsersect;
	CPoint		ptCursor;
	BOOL		bHover;

	GetCursorPos(&ptCursor);
	ScreenToClient(&ptCursor);

	for (i = 0; i < GetButtonCount(); i++)
	{
		if (GetItemRect(i, &rtItem))
		{
			rtInsersect.IntersectRect(&rtClip, &rtItem);

			if (!rtInsersect.IsRectEmpty())
			{
				bHover = m_mouseMgr.MouseOver() && rtItem.PtInRect(ptCursor);
				DrawItem(&bufDC, i, rtItem, bHover);
			}
		}
	}
}
BOOL CCheckDiskDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	CRect rtClient(0, 0, 514, 315);

	CRgn rgn;
	rgn.CreateRoundRectRgn(rtClient.left, rtClient.top, rtClient.right, rtClient.bottom, 5, 5);

	m_btnTitle.SetTextStyle(DEFAULT_FONT_NAME, 16, RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0),  I8SkinCtrl_ns::CI8OldButton::BTEXT_LEFT, TRUE);
	m_btnTitle.MoveWindow(&CRect(40, 10, 160, 30));

	CRect rc(25, 60, 140, 75);
	m_btnDrvList.MoveWindow(&rc);

	rc.OffsetRect(300, 0);
	m_btnCheckDrvList.MoveWindow(&rc);

	rc.OffsetRect(-295, 18);
	rc.right  += 40;
	rc.bottom += 135;
	m_lstLeft.MoveWindow(&rc);

	rc.OffsetRect(300, 0);
	m_lstRigth.MoveWindow(&rc);

	rc.OffsetRect(-121, 10);
	rc.right  = rc.left + 97;
	rc.bottom = rc.top + 25;
	m_btnAdd.SetImage(TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮.png"), TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮_鼠标经过.png"));
	m_btnAdd.SetTextStyle(DEFAULT_FONT_NAME, 12, RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), I8SkinCtrl_ns::CI8OldButton::BTEXT_CENTER);
	m_btnAdd.MoveWindow(&rc);

	rc.OffsetRect(0, 30);
	m_btnAddAll.SetImage(TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮.png"), TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮_鼠标经过.png"));
	m_btnAddAll.SetTextStyle(DEFAULT_FONT_NAME, 12, RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), I8SkinCtrl_ns::CI8OldButton::BTEXT_CENTER);
	m_btnAddAll.MoveWindow(&rc);

	rc.OffsetRect(0, 40);
	m_btnDel.SetImage(TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮.png"), TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮_鼠标经过.png"));
	m_btnDel.SetTextStyle(DEFAULT_FONT_NAME, 12, RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), I8SkinCtrl_ns::CI8OldButton::BTEXT_CENTER);
	m_btnDel.MoveWindow(&rc);

	rc.OffsetRect(0, 30);
	m_btnDelAll.SetImage(TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮.png"), TEXT("Skin/Wnd/CheckDisk/背景_系统设置_按钮_鼠标经过.png"));
	m_btnDelAll.SetTextStyle(DEFAULT_FONT_NAME, 12, RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), RGB(0, 0, 0), I8SkinCtrl_ns::CI8OldButton::BTEXT_CENTER);
	m_btnDelAll.MoveWindow(&rc);

	rc = CRect(125, 265, 227, 295);
	m_btnCheck.SetImage(TEXT("Skin/Wnd/CheckDisk/按钮_开始检测修复_默认状态.png"), TEXT("Skin/Wnd/CheckDisk/按钮_开始检测修复_鼠标经过.png"));
	m_btnCheck.MoveWindow(&rc);

	rc.OffsetRect(170, 0);
	m_btnCancel.SetImage(TEXT("Skin/Wnd/CheckDisk/按钮_取消_默认状态.png"), TEXT("Skin/Wnd/CheckDisk/按钮_取消_鼠标经过.png"));
	m_btnCancel.MoveWindow(&rc);

	DWORD nSize = GetLogicalDrives();
	for (int idx=2; idx<32; idx++)
	{
		TCHAR drv = TEXT('A') + idx;
		CString szItem = TEXT("X:");
		szItem.SetAt(0, drv);

		TCHAR szDev[MAX_PATH] = {0};
		if (QueryDosDevice(szItem, szDev, MAX_PATH) && StrNCmpI(WXNDA_DEV, szDev, _tcsclen(WXNDA_DEV)) == 0)
			continue ;

		szItem += TEXT("\\");
		if ((nSize & (1<<idx)) && (GetDriveType(szItem) == DRIVE_FIXED))
		{
			TCHAR szContent[MAX_PATH + 6] = {0};
			lstrcat(szContent, szItem);
			GetVolumeInformation(szItem, szContent + 3, MAX_PATH + 1, NULL, NULL, NULL, NULL, 0);
			//把驱动器标识用()括起来
			int nContentLen = lstrlen(szContent + 3);
			if (nContentLen > 0)
			{
				szContent[2] = '(';
				szContent[nContentLen + 3] = ')';
			}
			m_lstLeft.AddString(szContent);			
		}
	}

	MoveWindow(&rtClient, FALSE);
	SetWindowRgn(rgn, TRUE);

	CenterWindow();	
	return TRUE;
}
示例#5
0
BOOL CMainTabWnd::CreateEx(const RECT& rect, CWnd* pParentWnd, UINT nID)
{
	BOOL bRet = CTabWnd::Create(WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN, rect, pParentWnd, nID);
	if (!bRet)
		return bRet;

	CMainTabBkDraw	*pBkDraw = new CMainTabBkDraw;
	SetBarBkDraw(pBkDraw);


	m_dlgResource.Create(m_dlgResource.IDD, this);
	m_dlgDownload.Create(m_dlgDownload.IDD, this);
	m_dlgShare.Create(m_dlgShare.IDD, this);
	m_dlgSearch.Create(m_dlgSearch.IDD,this);
	m_dlgAdvance.Create(m_dlgAdvance.IDD, this);

	SetBarBreadth(41);

	if (thePrefs.m_bStartShowHomePage)
	{
		m_aposTabs[TI_RESOURCE] = CmdFuncs::TabWnd_AddMainButton(this, _T("Resource"),
			m_dlgResource.GetSafeHwnd(),
			_T("PNG_MAINTAB_BROWSER_N"),
			_T("PNG_MAINTAB_BROWSER_A"));
	}

		
	
	m_aposTabs[TI_DOWNLOAD] = CmdFuncs::TabWnd_AddMainButton(this, _T("Download"),
														m_dlgDownload.GetSafeHwnd(),
														_T("PNG_MAINTAB_DOWNLOAD_N"),
														_T("PNG_MAINTAB_DOWNLOAD_A"));
	
	//m_aposTabs[TI_SHARE] = CmdFuncs::TabWnd_AddMainButton(this, _T("Share"),
	//													theApp.emuledlg->sharedfileswnd->GetSafeHwnd(),
	//													theApp.LoadIcon(_T("MAINTAB_SHARE_N"), 32, 32),
	//													theApp.LoadIcon(_T("MAINTAB_SHARE_A"), 32, 32));
	m_aposTabs[TI_SHARE] = CmdFuncs::TabWnd_AddMainButton(this, _T("Share"),
														m_dlgShare.GetSafeHwnd(),
														_T("PNG_MAINTAB_SHARE_N"),
														_T("PNG_MAINTAB_SHARE_A"));

	m_aposTabs[TI_SEARCH] = CmdFuncs::TabWnd_AddMainButton(this, _T("Search"),
														m_dlgSearch.GetSafeHwnd(),
														_T("PNG_MAINTAB_SEARCH_N"),
														_T("PNG_MAINTAB_SEARCH_A"));



	if (CPreferences::m_bAdvancePageShowed)
	{
		m_aposTabs[TI_ADVANCE] = CmdFuncs::TabWnd_AddMainButton(this, GetResString(IDS_ADVANCE),
																m_dlgAdvance.GetSafeHwnd(),
																_T("PNG_MAINTAB_ADVANCED_N"),
																_T("PNG_MAINTAB_ADVANCED_A"));
	}

	CTabItem_MainTabBn	*pTiMainTabBn = NULL;

	pTiMainTabBn = new CTabItem_MainTabBn;
	m_aposTabs[TI_BN] = AddTab(pTiMainTabBn);

	CClientRect	rtClient(this);

	m_dlgSidePanel.Create(m_dlgSidePanel.IDD, this);
	CRect	rtSidePanel;

	rtSidePanel = rtClient;
	rtSidePanel.left = rtSidePanel.right - m_dlgSidePanel.GetDesireWidth();
	rtSidePanel.bottom = rtSidePanel.top + GetBarBreadth();
	m_dlgSidePanel.MoveWindow(&rtSidePanel);

	CTabItem_Wnd	*pTabItemWnd = new CTabItem_Wnd;
	pTabItemWnd->SetItemWnd(&m_dlgSidePanel, FALSE);
	pTabItemWnd->SetWindowLength(m_dlgSidePanel.GetDesireWidth());
	pTabItemWnd->SetAttribute(pTabItemWnd->ATTR_FIXLEN | pTabItemWnd->ATTR_TAIL);
	AddTab(pTabItemWnd);

	//创建速度指示面板
	//CTabItem_Wnd	*pTabItemWnd2 = new CTabItem_Wnd;
	//pTabItemWnd2->SetItemWnd(&m_SpeedMeterDlg, FALSE);
	//pTabItemWnd2->SetWindowLength(m_SpeedMeterDlg.GetDesireWidth());
	//pTabItemWnd2->SetAttribute(pTabItemWnd2->ATTR_TAIL | pTabItemWnd2->ATTR_FILL);
	//AddTab(pTabItemWnd2);

	//InitAnchors();

	Localize();

	//{begin} VC-dgkang 2008年8月13日
	if (!thePrefs.m_bStartShowHomePage)
		CmdFuncs::SetMainActiveTab(CMainTabWnd::TI_DOWNLOAD);
	//{end}
	return bRet;
}
示例#6
0
void CToolBarCtrlZ::DrawItem(CDC *pDC, int iIndex, const CRect &rtItem, BOOL bHover)
{
	UINT			uItemId;
	UINT			uItemState;
	TBBUTTON		tbb;


	TCHAR			szText[1024];
	TBBUTTONINFO	tbi;
	CArray<CxImage*, CxImage*>	*parrImgs = NULL;
	CxImage			*pIconImg = NULL;		
	int				iIconTop;
	CRect			rtDraw;
	CRect			rtText;
	COLORREF		clrText;
	
	CClientRect		rtClient(this);
	rtDraw = rtItem;
	rtDraw.top = rtClient.top;
	rtDraw.bottom = rtClient.bottom;

	if (!GetButton(iIndex, &tbb))
		return;

	uItemId = tbb.idCommand;
	uItemState = GetState(uItemId);

	parrImgs = &m_arrImgs;
	if ( !IsButtonEnabled(uItemId) )
	{
		clrText = RGB(204, 128, 128);
		if (0 != m_arrDisableImgs.GetCount())
			parrImgs = &m_arrDisableImgs;
	}
	else
	{
		clrText = RGB(255, 254, 253);

		if (TBSTATE_PRESSED & uItemState/*IsButtonPressed(uItemId)*/)
			rtDraw.OffsetRect(1, 1);
		else if (bHover/*iIndex == GetHotItem()*/)
			rtDraw.OffsetRect(-1, -2);
	}


	ZeroMemory(&tbi, sizeof(TBBUTTONINFO));
	tbi.cbSize = sizeof(TBBUTTONINFO);
	tbi.dwMask = TBIF_TEXT | TBIF_IMAGE;
	tbi.pszText = szText;
	tbi.cchText = 1024;
	//if (GetButtonInfo(p->nmcd.dwItemSpec, &tbi))
	GetButtonInfo(uItemId, &tbi);
	{

		rtText = rtDraw;

		if (tbi.iImage < parrImgs->GetCount())
		{
			pIconImg = parrImgs->GetAt(tbi.iImage);
			if (NULL != pIconImg)
			{
				iIconTop = rtDraw.Height() - pIconImg->GetHeight();
				iIconTop /= 2;
				iIconTop += rtDraw.top;
				pIconImg->Draw(pDC->GetSafeHdc(), rtDraw.left, iIconTop);
				rtText.left += pIconImg->GetWidth() + 4;
			}
		}


		{
			CWndFontDC	fontDC(pDC->GetSafeHdc(), GetSafeHwnd());
			CTextDC		textDC(pDC->GetSafeHdc(), clrText);
			
			pDC->DrawText(tbi.pszText, -1, &rtText, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
		}
	}

}
void CDlgMaintabDownload::InitTabs(void)
{
	CClientRect	rtClient(this);
	CRect	rtDownload;

	GetDlgItem(IDC_TAB_LIST)->GetWindowRect(&rtDownload);
	ScreenToClient(&rtDownload);

	m_DownloadTabWnd.Create(WS_CHILD | WS_VISIBLE, rtDownload, this, IDC_TAB_LIST);
	//m_tabwndDlList.SetBkColor(GetSysColor(COLOR_3DFACE), FALSE);
	CPageTabBkDraw	*pBarBkDraw = new CPageTabBkDraw;
	m_DownloadTabWnd.SetBarBkDraw(pBarBkDraw);

	CRect	rcSpl;
	GetDlgItem(IDC_STATIC_SPLITER)->GetWindowRect(&rcSpl);
	ScreenToClient(&rcSpl);
	rcSpl.top = rtDownload.bottom;
	rcSpl.bottom = rcSpl.top;
	m_wndSplitter.Create(WS_CHILD | WS_VISIBLE, rcSpl, this, IDC_SPLITTER_DOWNLOAD);
	m_wndSplitter.SetNormalDraw(FALSE);


	CRect	rtTabInfo;
	GetDlgItem(IDC_TAB_INFO)->GetWindowRect(&rtTabInfo);
	ScreenToClient(&rtTabInfo);

	rtTabInfo.top = rcSpl.top + m_wndSplitter.GetHBreadth();
	m_tabwndInfo.Create(WS_CHILD | WS_VISIBLE, rtTabInfo, this, IDC_TAB_INFO);

	m_lcDownloaded.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_OWNERDRAWFIXED, CRect(0, 0, 0, 0), this, IDC_DOWNLOADED_LISTCTRL);

	m_RssWnd.Create(m_RssWnd.IDD,this);

	m_plcDownloading = (CListCtrl*) theApp.emuledlg->transferwnd->GetDlgItem(IDC_DOWNLOADLIST);
	m_aposTabs[TI_DOWNLOADING] = CmdFuncs::TabWnd_AddNormalTab(&m_DownloadTabWnd, GetResString(IDS_DLTAB_DOWNLOADING), m_plcDownloading->GetSafeHwnd());
	
	m_aposTabs[TI_DOWNLOADED] = CmdFuncs::TabWnd_AddNormalTab(&m_DownloadTabWnd, GetResString(IDS_DLTAB_COMPLETED), m_lcDownloaded.GetSafeHwnd());
	m_aposTabs[TI_RSSWND] = CmdFuncs::TabWnd_AddNormalTab(&m_DownloadTabWnd,GetResString(IDS_DLTAB_RSS), m_RssWnd.GetSafeHwnd());

	m_DownloadTabWnd.InitBtWnd();
	m_DownloadTabWnd.m_BtWnd.ShowWindow(SW_HIDE);//隐藏RSS切换按钮
	m_DownloadTabWnd.m_BtWnd.m_btIco.EnableWindow(FALSE);//初始化按钮状态
	m_DownloadTabWnd.m_BtWnd.m_btItem.EnableWindow(TRUE);

	CTabItem_Cake	*pTiCake = NULL;

	if(! m_dlgDetailInfo.GetSafeHwnd())
	{
		m_dlgDetailInfo.Create(m_dlgDetailInfo.IDD, this);
	}

	//添加日志页
	if(!m_dlgPeerLog.GetSafeHwnd())
	{
		m_dlgPeerLog.Create(m_dlgPeerLog.IDD, this);
	}

	//m_aposTabs[TI_DETAIL] = CmdFuncs::TabWnd_AddNormalTab(&m_tabwndInfo, GetResString(IDS_DETAIL_INFO), m_dlgDetailInfo.GetSafeHwnd());
	pTiCake = new CTabItem_Cake;
	pTiCake->SetCaption(GetResString(IDS_DETAIL_INFO));
	pTiCake->SetRelativeWnd(m_dlgDetailInfo.GetSafeHwnd());
	pTiCake->SetIcon(_T("PNG_DETAILINFO"));
	m_posInfo = m_aposTabs[TI_DETAIL] = m_tabwndInfo.AddTab(pTiCake);
	pTiCake = NULL;

	//VC-dgkang
#ifndef _FOREIGN_VERSION 
	if(! m_pwebUserComment)
	{
		//  don't delete it, auto-deleted
		m_pwebUserComment = new CHtmlCtrl;
		CRect rect(0,0,1,1);  //  tab will resize it
		m_pwebUserComment->Create(NULL, NULL ,WS_CHILD | WS_VISIBLE &~WS_BORDER, rect,this, 34345,NULL);
		m_pwebUserComment->SetSilent(true);
		//m_webUserComment.Create(IDD_WEBBROWSER);
	}

	pTiCake = new CTabItem_Cake;
	pTiCake->SetCaption(GetResString(IDS_USER_COMMENT));
	pTiCake->SetRelativeWnd(m_pwebUserComment->GetSafeHwnd());
	pTiCake->SetIcon(_T("PNG_DETAILCOMMENT"));
	m_aposTabs[TI_REMARK] = m_tabwndInfo.AddTab(pTiCake);
	pTiCake = NULL;
#endif
	//添加日志标签
	pTiCake = new CTabItem_Cake;
	pTiCake->SetCaption(GetResString(IDS_TASK_LOG));
	pTiCake->SetRelativeWnd(m_dlgPeerLog.GetSafeHwnd());
	pTiCake->SetIcon(_T("PNG_PEERLOG"));
	m_posPeerLog = m_aposTabs[TI_PEERLOG] = m_tabwndInfo.AddTab(pTiCake);
	pTiCake = NULL;

	//添加上传标签
	pTiCake = new CTabItem_Cake;
	pTiCake->SetCaption(GetResString(IDS_UPLOADING));
	pTiCake->SetRelativeWnd(((CListCtrl*) theApp.emuledlg->transferwnd->GetDlgItem(IDC_UPLOADLIST))->GetSafeHwnd());
	pTiCake->SetIcon(_T("PNG_DETAILUPLOAD"));
	m_posUploading = m_aposTabs[TI_UPLOADING] = m_tabwndInfo.AddTab(pTiCake);
	pTiCake = NULL;

}