1:
2:
3:
4:
5:
画线函数:
1:ArcTo和AngleArc
2:PolyDraw
1:
2:
3:
4:
5:
画笔:
hPen
则设备内容中的目前画笔将为WHITE_PEN,变量hPen将会是BLACK_PEN的句柄。以后通过呼叫
SelectObject
将会使设备重新成为BLACK_PEN
分析:使用固有的画笔操作简单,但是类型很少,只有实心的黑画笔、实心的白画笔或者没有画笔这三种情况。
GDI对象:是画刷、位图、区域、字体和调色盘,画笔
GDI规则:
1:最后要删除自己建立的所有GDI对象。
2:当GDI对象正在一个有效的设备内容中使用时,不要删除它。
3:不要删除现有对象。
创建画笔:
hPen
或者:
LOGPEN
hPen
LOGPEN是个结构体,三个元素,lopnStyle,lopnWidth,lopnColor。
SetBkColor
SetBkMode
画刷:
hBrush
hBrush
SelectObject(hdc,hBrush);
绘图方式:
当Windows使用画笔来画线时,它实际上执行画笔图素与目标位置处原来图素之间的某种位布尔运算。
矩形函数:
FillRect
FrameRect
InvertRect
SetRect
OffsetRect
InflateRect
SetRectEmpty
CopyRect
IntersectRect
UnionRect
bEmpty
bInRect
GetMessage()和PeekMessage()的区别:
GetMessage不将控制传回给程序,直到从程序的消息队列中取得消息,但是PeekMessage总是立刻传回,而不论一个消息是否出现。当消息队列中有一个消息时,PeekMessage的传回值为TRUE(非0),并且将按通常方式处理消息。当队列中没有消息时,PeekMessage传回FALSE(0)。
剪裁区:
hRgn
hRgn
hRgn
hRgn
hRgn
iRgnType
iCombine:合并方式,如下所示:
RGN_AND
RGN_OR
RGN_XOR
RGN_DIFF
RGN_COPY
剪裁区的句柄hRgn可以用的函数
FillRgn
FrameRgn
InvertRgn
PaintRgn
DeleteObject
矩形区域函数:
InvalidateRect
GetUpdateRect(hwnd,lprect,
ValidateRect(hwnd,lprect);
剪裁区域函数,非矩形,类似矩形区域函数
InvalidateRgn
ValidateRgn(hwnd,hRgn);
以上两种区域函数都会使windows发送WM_PAINT消息。
剪裁区域选入设备
SelectObject(hdc,hRgn
SelectClipRgn