Exemple #1
0
/***********************************************************************
    This routine is called when the menu command ROTATEMINUS is selected.
    The region selected is rotated 90 degress counterclockwise.  
***********************************************************************/
OpRotMinus()
{
	int	vsize, hsize, size;
	Rectangle r, rbuf;
	Bitmap * buffer;
	if (GetIconRect(&r) == 0) 
		return(0);
	hsize = horsize(r); 
	vsize = versize(r); 
	size = hsize + vsize;
	buffer = balloc(Rect(0, 0, size, size));
	if (buffer == ((Bitmap * ) 0)) 
		return(0);
	rectf(buffer, buffer->rect, F_CLR);
	rbuf = raddp(r, sub(Pt(vsize, 0), r.origin));
	bitblt(&display, raddp(r, icon.origin), buffer, rbuf.origin, F_XOR);
	horshear(buffer, rbuf, -vsize, true);
	vershear(buffer,
	    Rect(rbuf.origin.x - vsize, rbuf.origin.y, rbuf.corner.x, rbuf.corner.y),
	    size, true);
	horshear(buffer,
	    Rect(rbuf.origin.x - vsize, rbuf.corner.y - 1,
	    rbuf.corner.x, rbuf.corner.y + hsize - 1),
	    hsize, false);
	Erase(r);
	FetchIcon(buffer,
	    Rect(rbuf.corner.x - vsize, rbuf.corner.y - 1,
	    rbuf.corner.x, rbuf.corner.y + hsize - 1),
	    add(r.origin, sub(Pt(hsize / 2, vsize / 2), Pt(vsize / 2, hsize / 2))),
	    Rect(0, 0, Xblocks, Yblocks));
	bfree(buffer);
}
void CPageNavigator::EnsureIconVisible(int nItem)
{
	RECT ItemRect = {0,0,0,0};
	GetIconRect(nItem, &ItemRect);
	RECT ClientRect = {0,0,0,0};
	GetClientRect(&ClientRect);

	int iDelta = 0;
	int dx = (ClientRect.left + m_xLeft) - ItemRect.left;
	if (dx > 0)
		iDelta = dx;
	dx = (ClientRect.right - m_xLeft) - ItemRect.right;
	if (dx < 0)
		iDelta = dx;
	if (!iDelta)
		return;
		
	for (int i = 0; i < GetItemCount(); i++)
	{
		POINT pt = {0,0};
		GetItemPosition(i, &pt);
		pt.x += iDelta;
		SetItemPosition(i, pt);
	}
}
Exemple #3
0
VOID CDUIIconTextItem::PaintForgnd(HDC dc)
{
	CRefPtr<CImageList> pIcon;
	if(m_bExpand)
	{
		pIcon = m_uiData.m_pExpandIcon;
	}
	else
	{
		pIcon = m_uiData.m_pNormalIcon;
	}

	if(pIcon.IsNull() || pIcon->IsNull())
	{
		return;
	}
	
	INT nImageIndex(m_nIconIndex);
	if(nImageIndex >= pIcon->GetItemCount())
	{
		nImageIndex = 0;
	}

	RECT rtIcon = GetIconRect();
	pIcon->DrawInCenter(dc , rtIcon, nImageIndex);
}
Exemple #4
0
RECT CDUIIconTextItem::GetTextRect()
{
	RECT rtBK = GetBKRect();
	RECT rtIcon = GetIconRect();

	RECT rtText = rtBK;
	rtText.left = rtIcon.right + GetPaddingWidth();
	return rtText;
}
Exemple #5
0
LRESULT CMyEdit::OnNcHitTest(CPoint point)
{
	// TODO: Add your message handler code here and/or call default
	CRect rcIcon;
	GetIconRect(rcIcon);

	if (PtInRect(&rcIcon, point)) {
		return HTBORDER;
	}

	return CEdit::OnNcHitTest(point);
}
Exemple #6
0
void CMyEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
	CRect rcIcon;
	CPoint pt;
	GetCursorPos(&pt);
	GetIconRect(rcIcon);

	if( PtInRect(&rcIcon,pt)) return;

	m_bPress = TRUE;
	CEdit::OnLButtonDown(nFlags, point);
}
Exemple #7
0
LRESULT CSkinEdit::OnNcHitTest(CPoint point)
{
	CRect rcIcon;
	GetIconRect(rcIcon);

	if( PtInRect(&rcIcon,point))
	{
		return HTBORDER;
	}

	return __super::OnNcHitTest(point);
}
void CTabItem_Normal::Paint(CDC* pDC)
{
	CRect	rect;
	
	rect = GetRect();
	rect.right -= m_iItemGap;
	if (m_bActive)
		CFaceManager::GetInstance()->DrawImageBar(IBI_PAGETAB_A, pDC->m_hDC, rect);
	else
	{
		if (IsHover())
			CFaceManager::GetInstance()->DrawImageBar(IBI_PAGETAB_H, pDC->m_hDC, rect);
		else
			CFaceManager::GetInstance()->DrawImageBar(IBI_PAGETAB_N, pDC->m_hDC, rect);
	}
	if(m_bHasIcon)
	{
		if (GetIconRect(rect))
		{
			m_imgIcon.Draw(pDC->GetSafeHdc(), rect.left, rect.top);
		}
	}

	//	DrawText	<begin>
	if (GetTextRect(rect))
	{
		CFontDC font(pDC->GetSafeHdc(), _T("宋体"));
		font = 12;

		int iOldMode = pDC->SetBkMode(TRANSPARENT);
		COLORREF	clrOldText;
		if (m_bActive)
		{
			clrOldText = pDC->SetTextColor(RGB(154, 2, 1));
		}
		else
		{
			clrOldText = pDC->SetTextColor(RGB(255, 255, 255));
		}

		pDC->DrawText(m_strCaption, rect, DT_VCENTER | DT_SINGLELINE | DT_CENTER | DT_WORD_ELLIPSIS);

		pDC->SetTextColor(clrOldText);
		pDC->SetBkMode(iOldMode);
	}
	//	DrawText	<end>

}
Exemple #9
0
void CMyEdit::OnNcLButtonUp(UINT nHitTest, CPoint point)
{
	CWnd *pWnd = GetParent();

	if ( pWnd != NULL && pWnd->GetSafeHwnd() != NULL )
	{
		CRect rcIcon;
		CPoint pt;
		GetCursorPos(&pt);
		GetIconRect(rcIcon);

		if( PtInRect(&rcIcon,pt)) 
			pWnd->PostMessage(WM_COMMAND,GetDlgCtrlID());
	}

	CEdit::OnNcLButtonUp(nHitTest, point);
}
BOOL CTabItem_Normal::GetTextRect(CRect &rect)
{
	rect = GetRect();
	rect.right -= m_iItemGap;
	rect.right -= MARGIN_H;

	CRect	rtIcon;
	if (GetIconRect(rtIcon))
		rect.left = rtIcon.right + 2;
	else
		rect.left += MARGIN_H;

	if (m_bActive)
		rect.top += 4;
	else
		rect.top += 8;

	return TRUE;
}
Exemple #11
0
BOOL CMyEdit::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
	CRect rcIcon;
	CPoint pt;
	GetCursorPos(&pt);
	GetIconRect(rcIcon);

	if( PtInRect(&rcIcon,pt))
	{
		if( m_bHandCursor )
			SetCursor(LoadCursor(NULL,IDC_HAND));
		else
			SetCursor(LoadCursor(NULL,IDC_ARROW));

		return TRUE;
	}

	return CEdit::OnSetCursor(pWnd, nHitTest, message);
}
Exemple #12
0
void CMyEdit::OnLButtonUp(UINT nFlags, CPoint point)
{
	CRect rcIcon;
	CPoint pt;
	GetCursorPos(&pt);
	GetIconRect(rcIcon);

	if (PtInRect(rcIcon, pt)) {
		return;
	} else {
		if (m_bPress) {
			m_bPress = FALSE;
			RedrawWindow(NULL, NULL, RDW_FRAME | RDW_VALIDATE 
				| RDW_NOERASE | RDW_ERASE);
		}
	}

	CEdit::OnLButtonUp(nFlags, point);
}
LRESULT CPageNavigator::OnLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	if (!m_bCapture)
		return S_OK;
		
	ReleaseCapture();
	m_bCapture = false;

	if (!m_bDown)
		return S_OK;
		
	m_bDown = false;

	int nPage = -1;
	POINT ptCursor = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
	for (int i = 0; i < GetItemCount(); i++)
	{
		RECT ItemRect = {0,0,0,0};
		GetIconRect(i, &ItemRect);
		if (::PtInRect(&ItemRect, ptCursor))
		{
			nPage = i;
			break;
		}
	}

	if (::GetFocus() != m_hWnd)
		::SetFocus(m_hWnd);

	if (nPage < m_pAGDoc->GetNumPages())
	{
		int nLastPage = GetPage();
		if (SelectPage(nPage, true/*bSetState*/))
			SendMessage(GetParent(), WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED/*wNotifyCode*/), MAKELPARAM(nLastPage,nPage));
	}
	else
	{ // It must be the add button
		SendMessage(GetParent(), WM_COMMAND, MAKEWPARAM(IDC_DOC_PAGEADD, BN_CLICKED/*wNotifyCode*/), 0L);
	}

	return S_OK;
}
Exemple #14
0
void CSkinEdit::OnNcLButtonUp(UINT nHitTest, CPoint point)
{
	CWnd *pWnd = GetParent();

	if ( pWnd != NULL && pWnd->GetSafeHwnd() != NULL )
	{
		CRect rcIcon;
		CPoint pt;
		GetCursorPos(&pt);
		GetIconRect(rcIcon);

		if( PtInRect(&rcIcon,pt)) 
		{
			//m_bSendMsg = true;
			pWnd->PostMessage(WM_EDIT_CLICK,GetDlgCtrlID());
			//m_bSendMsg = false;
		}
	}

	__super::OnNcLButtonUp(nHitTest, point);
}
LRESULT CPageNavigator::OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	if (!m_hWnd || !m_pAGDoc)
		return E_FAIL;
		
	NMHDR* pNMHDR = (NMHDR*)lParam;

	// don't handle messages from odd places
	if (pNMHDR->hwndFrom != m_hWnd && pNMHDR->hwndFrom != ::GetParent(m_hWnd))
	{
		bHandled = false;
		return 1;
	}

	LRESULT lResult = 0;
	switch (pNMHDR->code)
	{
		case NM_CLICK:
		{
			NMITEMACTIVATE* pItemAct = (NMITEMACTIVATE*)pNMHDR;
			if (!pItemAct)
				break;

			int nPage = -1;
			for (int i = 0; i < GetItemCount(); i++)
			{
				RECT ItemRect = {0,0,0,0};
				GetIconRect(i, &ItemRect);
				if (::PtInRect(&ItemRect, pItemAct->ptAction))
				{
					nPage = i;
					break;
				}
			}

			if (nPage < m_pAGDoc->GetNumPages())
			{
				int nLastPage = GetPage();
				if (SelectPage(nPage, false/*bSetState*/))
					SendMessage(GetParent(), WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED/*wNotifyCode*/), MAKELPARAM(nLastPage,nPage));
			}
			else
			{ // It must be the add button
				SendMessage(GetParent(), WM_COMMAND, MAKEWPARAM(IDC_DOC_PAGEADD, BN_CLICKED/*wNotifyCode*/), 0L);
			}

			break;
		}

		case NM_SETFOCUS:
		case NM_KILLFOCUS:
		case LVN_KEYDOWN:
		case LVN_ITEMCHANGING:
		case LVN_ITEMCHANGED:
		case LVN_INSERTITEM:
		case LVN_DELETEITEM:
		case LVN_DELETEALLITEMS:
		case LVN_ITEMACTIVATE: // happens on a double-click
		case LVN_BEGINDRAG:
		{
			bHandled = false;	// not handled
			break;
		}

		// These message do not occur normally
		case LVN_BEGINRDRAG:
		case LVN_COLUMNCLICK:
		case LVN_ODCACHEHINT:
		case LVN_ODSTATECHANGED:
		case LVN_ODFINDITEM:
		case LVN_HOTTRACK:
		case LVN_BEGINLABELEDIT:
		case LVN_ENDLABELEDIT:
		case LVN_GETDISPINFO:
		case LVN_SETDISPINFO:
		case LVN_MARQUEEBEGIN:
		case LVN_GETINFOTIP:
		default:
		{
			bHandled = false;	// not handled
			break;
		}
	}

	return lResult;
}
Exemple #16
0
int CALLBACK GetMemoData( LPVOID lp, int nGetType, LPVOID lpData, int nDataSize)
{
	switch( nGetType)
	{
	case _GET_MEMO:
		return GetMemo( lp, lpData, nDataSize);
	case _GET_TITLE:
		return GetTitle( lp, lpData, nDataSize);
	case _GET_FONT:
		return GetFont( lp, lpData, nDataSize);
	case _GET_FORECOLOR:
		return GetForeColor( lp, lpData, nDataSize);
	case _GET_BACKCOLOR:
		return GetBackColor( lp, lpData, nDataSize);
	case _GET_ICON:
		return GetIconIndex( lp);
	case _GET_ZORDER:
		return GetZOrder( lp);
	case _GET_WINDOWTYPE:
		return GetWindowType( lp);
	case _GET_RECT_NORMAL:
		return GetNormalRect( lp, lpData, nDataSize);
	case _GET_POINT_TITLE:
		return GetTitlePoint( lp, lpData, nDataSize);
	case _GET_POINT_ICON:
		return GetIconPoint( lp, lpData, nDataSize);
	case _GET_RECT_TITLE:
		return GetTitleRect( lp, lpData, nDataSize);
	case _GET_RECT_ICON:
		return GetIconRect( lp, lpData, nDataSize);

	case _GET_TIMERENABLE:
		return IsTimerEnable( lp);
	case _GET_TIMER_TYPE:
		return GetTimerType( lp);
	case _GET_TIMER_MONTH:
		return GetTimerMonth( lp);
	case _GET_TIMER_DAY:
		return GetTimerDay( lp);
	case _GET_TIMER_HOUR:
		return GetTimerHour( lp);
	case _GET_TIMER_MIN:
		return GetTimerMin( lp);
	case _GET_TIMER_WEEK:
		return GetTimerWeek( lp);
	case _GET_TIMER_SOUND:
		return GetTimerSound( lp, lpData, nDataSize);

	case _GET_LINKENABLE:
		return IsLink( lp);
	case _GET_LINK_FILE:
		return GetLinkFile( lp, lpData, nDataSize);
	case _GET_LINK_PARAM:
		return GetLinkParam( lp, lpData, nDataSize);

	case _GET_CREATE_YEAR:
		return GetCreateYear( lp);
	case _GET_CREATE_MONTH:
		return GetCreateMonth( lp);
	case _GET_CREATE_DAY:
		return GetCreateDay( lp);

	case _GET_DEF_FONT:
		return GetDefFont( lpData, nDataSize);
	case _GET_DEF_FORECLR:
		return GetDefForeColor( lpData, nDataSize);
	case _GET_DEF_BACKCLR:
		return GetDefBackColor( lpData, nDataSize);

	case _GET_VERSION:
		return VERSION_CODE;
	}
	return 0;
}