本文整理汇总了C++中Bitmap::Copy方法的典型用法代码示例。如果您正苦于以下问题:C++ Bitmap::Copy方法的具体用法?C++ Bitmap::Copy怎么用?C++ Bitmap::Copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bitmap
的用法示例。
在下文中一共展示了Bitmap::Copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ProcessMessage
LONG BitmapButton::ProcessMessage(HWND hWnd, size_t msg, size_t wParam, LONG lParam)
{
if (msg == WM_LBUTTONDOWN)
{
long res = CallWindowProc(DefaultHandler, hWnd, msg, wParam, lParam);
SendMessage(hWnd, BM_SETSTATE, (WPARAM)BST_PUSHED, 0);
InvalidateRect(hWnd, NULL, false);
return res;
}
else if (msg == WM_LBUTTONUP)
{
long res = CallWindowProc(DefaultHandler, hWnd, msg, wParam, lParam);
SendMessage(hWnd, BM_SETSTATE, (WPARAM)0, 0);
InvalidateRect(hWnd, NULL, false);
return res;
}
else if ((msg == WM_COMMAND) || (msg == BN_CLICKED))
{
if (clickHandler)
{
clickHandler();
return true;
}
else if (dClickHandler)
{
(clickListener->*dClickHandler)();
return true;
}
else
return false;
}
else if (msg == WM_ERASEBKGND)
{
/*
HBRUSH hOldBrush;
HPEN hOldPen;
RECT rect;
HDC hDC;
hDC = GetDC(hWnd);
hOldBrush = (HBRUSH)SelectObject(hDC, erasePen);
hOldPen = (HPEN)SelectObject(hDC, eraseBrush);
GetUpdateRect(hWnd, &rect, FALSE);
::Rectangle(hDC, rect.left, rect.top, rect.right, rect.bottom);
SelectObject(hDC, hOldPen);
SelectObject(hDC, hOldBrush);
InvalidateRect(hWnd, NULL, FALSE);
*/
return true;
}
else if (msg == WM_PAINT)
{
HDC tmp = dc;
PAINTSTRUCT ps;
RECT rect;
BeginPaint(hWnd, &ps);
rect.left = 0; rect.right = Width();
rect.top = 0; rect.bottom = Height();
HBRUSH hOldBrush = (HBRUSH)SelectObject(dc, erasePen);
HPEN hOldPen = (HPEN)SelectObject(dc, eraseBrush);
::Rectangle(dc, rect.left, rect.top, rect.right, rect.bottom);
SelectObject(dc, hOldPen);
SelectObject(dc, hOldBrush);
int state = SendMessage(hWnd, BM_GETSTATE, 0, 0);
Bitmap *bit;
int offset;
if ((state & BST_PUSHED) == 0)
{
DrawEdge(dc, &rect, EDGE_RAISED, BF_ADJUST | BF_RECT);
if (IsEnabled())
bit = upBitmap;
else
bit = disabledBitmap;
offset = 0;
}
else
{
DrawEdge(dc, &rect, EDGE_SUNKEN, BF_ADJUST | BF_RECT);
bit = downBitmap;
offset = 1;
}
bit->Copy(*this, (Width() - bit->Width()) / 2 + offset, (Height() - bit->Height()) / 2 + offset, bit->Width(),
bit->Height(), 0, 0);
dc = tmp;
return false;
}
return false;
}