|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Using Pens
This section contains sample code that demonstrates the appearance of lines drawn using various pen styles and attributes.
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; LOGBRUSH lb; RECT rc; HDC hdc; int i; HPEN hPen, hPenOld; DWORD dwPenStyle[] = { PS_DASH, PS_DASHDOT, PS_DOT, PS_INSIDEFRAME, PS_NULL, PS_SOLID
}; UINT uHatch[] = { HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS, HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL }; switch (uMsg) { case WM_PAINT: { GetClientRect(hWnd, &rc); rc.left += 10; rc.top += 10; rc.bottom -= 10;
/* Initialize the pen's "brush." */ lb.lbStyle = BS_SOLID; lb.lbColor = RGB(255,0,0); lb.lbHatch = 0; hdc = BeginPaint(hWnd, &ps); for (i = 0; i < 6; i++) { hPen = ExtCreatePen(PS_COSMETIC | dwPenStyle[i], 1, &lb, 0, NULL); hPenOld = SelectObject(hdc, hPen); MoveToEx(hdc, rc.left + (i * 20), rc.top, NULL);
LineTo(hdc, rc.left + (i * 20), rc.bottom); SelectObject(hdc, hPenOld); DeleteObject(hPen); } rc.left += 150; for (i = 0; i < 6; i++) { lb.lbStyle = BS_HATCHED; lb.lbColor = RGB(0,0,255); lb.lbHatch = uHatch[i]; hPen = ExtCreatePen(PS_GEOMETRIC, 5, &lb, 0, NULL);
hPenOld = SelectObject(hdc, hPen); MoveToEx(hdc, rc.left + (i * 20), rc.top, NULL); LineTo(hdc, rc.left + (i * 20), rc.bottom); SelectObject(hdc, hPenOld); DeleteObject(hPen); } EndPaint(hWnd, &ps); } break; case WM_DESTROY: DeleteObject(hPen); PostQuitMessage(0); break; default:
return DefWindowProc(hWnd, uMsg, wParam, lParam); } return FALSE; }
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Использование Ручек
Эта секция содержит код образца, который демонстрирует появление линий сделанным используя различные стили ручки и атрибутов.
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { ps PAINTSTRUCT; lb LOGBRUSH; rc RECT; hdc HDC; int i; HPEN hPen, hPenOld; DWORD dwPenStyle[] = { PS_DASH, PS_DASHDOT, PS_DOT, PS_INSIDEFRAME, PS_NULL, PS_SOLID
}; UINT uHatch[] = { HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS, HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL }; ключ (uMsg) { случай WM_PAINT: { GetClientRect(hWnd, &rc); rc.left += 10; rc.top += 10; rc.bottom -= 10;
/* Инициализируйте сочинять "щетка." */ lb.lbStyle = BS_SOLID; lb.lbColor = RGB(255,0,0); lb.lbHatch = 0; hdc = BeginPaint(hWnd, &ps); для (i = 0; я < 6; я++) { hPen = ExtCreatePen(PS_COSMETIC | dwPenStyle[i], 1, &lb, 0, НЕДЕЙСТВИТЕЛЬНОЕ); hPenOld = SelectObject(hdc, hPen); MoveToEx(hdc, rc.left + (Я * 20), rc.top, НЕДЕЙСТВИТЕЛЬНЫЙ);
LineTo(hdc, rc.left + (Я * 20), rc.bottom); SelectObject(hdc, hPenOld); DeleteObject(hPen); } rc.left += 150; для (i = 0; я < 6; я++) { lb.lbStyle = BS_HATCHED; lb.lbColor = RGB(0,0,255); lb.lbHatch = uHatch[i]; hPen = ExtCreatePen(PS_GEOMETRIC, 5, &lb, 0, НЕДЕЙСТВИТЕЛЬНОЕ);
hPenOld = SelectObject(hdc, hPen); MoveToEx(hdc, rc.left + (Я * 20), rc.top, НЕДЕЙСТВИТЕЛЬНЫЙ); LineTo(hdc, rc.left + (Я * 20), rc.bottom); SelectObject(hdc, hPenOld); DeleteObject(hPen); } EndPaint(hWnd, &ps); } прерывание; случай WM_DESTROY: DeleteObject(hPen); PostQuitMessage(0); прерывание; невыполнение:
возвращайте DefWindowProc(hWnd, uMsg, wParam, lParam); } обратная ЛОЖЬ; }
|
|
|
|
| |