На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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);
}

обратная ЛОЖЬ;
}



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz