void CShortcutBarView::OnDraw(CDC* pDC) { CShortcutBarDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (XTPPaintManager()->GetCurrentTheme() == xtpThemeOffice2003) pDC->Draw3dRect(CXTPClientRect(this), GetXtremeColor(XPCOLOR_FRAME), GetXtremeColor(XPCOLOR_FRAME)); else pDC->Draw3dRect(CXTPClientRect(this), GetXtremeColor(COLOR_3DSHADOW), GetXtremeColor(COLOR_3DHIGHLIGHT)); }
BOOL CXTPSkinObjectFrame::IsSizeBox() { HWND hWnd = m_hWnd; CXTPWindowRect rcChild(hWnd); int cxEdge = GetMetrics()->m_cxEdge; int cyEdge = GetMetrics()->m_cyEdge; while (hWnd) { if (GetWindowLong(hWnd, GWL_STYLE) & WS_SIZEBOX) { if ((GetWindowLong(hWnd, GWL_STYLE) & WS_MAXIMIZE)) return FALSE; CPoint ptParent = CXTPClientRect(hWnd).BottomRight(); ::ClientToScreen(hWnd, &ptParent); if ((rcChild.right + cxEdge < ptParent.x) || (rcChild.bottom + cyEdge < ptParent.y)) { return FALSE; } return hWnd ? TRUE : FALSE; } if (((GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) == 0) || ((GetWindowLong(hWnd, GWL_STYLE) & WS_CAPTION) == WS_CAPTION)) break; hWnd = ::GetParent(hWnd); } return FALSE; }
LRESULT CXTPCoreTreeControl::OnPrintClient(WPARAM wParam, LPARAM /*lParam*/) { CDC* pDC = CDC::FromHandle((HDC)wParam); if (pDC) { OnDraw(pDC, CXTPClientRect(this)); } return TRUE; }
void CXTPSkinObjectTab::OnPaint() { CXTPSkinObjectPaintDC dc(this); if (dc.m_ps.hdc == 0) { FillClient(&dc, CXTPClientRect(this)); } OnDraw(&dc); }
void CXTPCoreTreeControl::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { if (pScrollBar != NULL) { CWnd::OnVScroll(nSBCode, nPos, pScrollBar); return; } // its horizontal scroll bar int nCurPos = GetScrollPos(SB_VERT); // decide what to do for each diffrent scroll event switch (nSBCode) { case SB_LEFT: nCurPos = 0; break; case SB_RIGHT: nCurPos = GetScrollLimit(SB_VERT); break; case SB_LINELEFT: nCurPos = max(nCurPos - 6, 0); break; case SB_LINERIGHT: nCurPos = min(nCurPos + 6, GetScrollLimit(SB_VERT)); break; case SB_PAGELEFT: nCurPos = max(nCurPos - CXTPClientRect(this).Height(), 0); break; case SB_PAGERIGHT: nCurPos = min(nCurPos + CXTPClientRect(this).Height(), GetScrollLimit(SB_VERT)); break; case SB_THUMBTRACK: case SB_THUMBPOSITION: { SCROLLINFO si; ZeroMemory(&si, sizeof(SCROLLINFO)); si.cbSize = sizeof(SCROLLINFO); si.fMask = SIF_TRACKPOS; if (!GetScrollInfo(SB_VERT, &si)) return; nCurPos = si.nTrackPos; } break; } OnScrollChanged(nCurPos); }
void CXTPSkinObjectTab::OnDraw(CDC* pDC) { CRect rc = GetHeaderRect(); DWORD dwStyle = GetStyle(); if (IsRight(dwStyle)) { rc.left -= 2; } else if (IsLeft(dwStyle)) { rc.right += 2; } else if (IsBottom(dwStyle)) { rc.top -= 2; } else { rc.bottom += 2; } CXTPBufferDC dcMem(*pDC, rc); FillClient(&dcMem, CXTPClientRect(this)); if (m_bActiveX) { m_bPaint = TRUE; CXTPBufferDC dcMem2(*pDC, rc); DefWindowProc(WM_PAINT, (WPARAM)dcMem2.GetSafeHdc(), 0); dcMem2.Discard(); m_bPaint = FALSE; } CTabCtrl* pTabCtrl = (CTabCtrl*)this; CXTPFontDC font(&dcMem, GetFont()); dcMem.SetBkMode(TRANSPARENT); for (int iItem = 0; iItem < pTabCtrl->GetItemCount(); ++iItem) { DrawTab(&dcMem, iItem); } DrawTab(&dcMem, pTabCtrl->GetCurSel()); }
BOOL CXTPSkinObjectFrame::OnHookMessage(UINT nMessage, WPARAM& wParam, LPARAM& lParam, LRESULT& lResult) { if (nMessage == WM_CTLCOLORBTN || nMessage == WM_CTLCOLORDLG || nMessage == WM_CTLCOLORSTATIC || nMessage == WM_CTLCOLORLISTBOX || nMessage == WM_CTLCOLOREDIT) { if (m_strClassName == _T("COMBOBOX")) return FALSE; if (IsDefWindowProcAvail(nMessage) && (m_dwDialogTexture != ETDT_ENABLETAB || !m_bActiveX)) { return FALSE; } if (nMessage == WM_CTLCOLORLISTBOX || nMessage == WM_CTLCOLOREDIT) { ::SetBkColor((HDC)wParam, GetColor(COLOR_WINDOW)); ::SetTextColor((HDC)wParam, GetColor(COLOR_WINDOWTEXT)); lResult = (LRESULT)GetMetrics()->m_brushWindow; return TRUE; } // handle standard gray backgrounds if enabled if (CWnd::GrayCtlColor((HDC)wParam, (HWND)lParam, (UINT)(nMessage - WM_CTLCOLORMSGBOX), GetMetrics()->m_brushDialog, 0)) { lResult = (LRESULT)GetClientBrush((HDC)wParam, (HWND)lParam, (UINT)(nMessage - WM_CTLCOLORMSGBOX)); return TRUE; } } if (nMessage == WM_ERASEBKGND && m_dwDialogTexture == ETDT_ENABLETAB) { ::SetBrushOrgEx((HDC)wParam, 0, 0, NULL); FillRect((HDC)wParam, CXTPClientRect(this), GetClientBrush((HDC)wParam, m_hWnd, CTLCOLOR_DLG)); return TRUE; } return CXTPSkinObject::OnHookMessage(nMessage, wParam, lParam, lResult); }
CRect CXTPRibbonGroupPopupToolBar::GetGroupsRect() const { return CXTPClientRect(this); }
BOOL CXTPPropertyPage::OnScroll(UINT nScrollCode, UINT nPos, BOOL bDoScroll) { // calc new x position int x = GetScrollPos(SB_HORZ); int xOrig = x; switch (LOBYTE(nScrollCode)) { case SB_TOP: x = 0; break; case SB_BOTTOM: x = INT_MAX; break; case SB_LINEUP: x -= m_lineDev.cx; break; case SB_LINEDOWN: x += m_lineDev.cx; break; case SB_PAGEUP: x -= CXTPClientRect(this).Width(); break; case SB_PAGEDOWN: x += CXTPClientRect(this).Width(); break; case SB_THUMBTRACK: x = nPos; break; } // calc new y position int y = GetScrollPos(SB_VERT); int yOrig = y; switch (HIBYTE(nScrollCode)) { case SB_TOP: y = 0; break; case SB_BOTTOM: y = INT_MAX; break; case SB_LINEUP: y -= m_lineDev.cy; break; case SB_LINEDOWN: y += m_lineDev.cy; break; case SB_PAGEUP: y -= CXTPClientRect(this).Height(); break; case SB_PAGEDOWN: y += CXTPClientRect(this).Height(); break; case SB_THUMBTRACK: y = nPos; break; } BOOL bResult = OnScrollBy(CSize(x - xOrig, y - yOrig), bDoScroll); if (bResult && bDoScroll) UpdateWindow(); return bResult; }