【VC++中的2函数】
GetDlgItem(); //由ID得到指向CWnd的指针
GetDlgCtrlID(); //CWnd指针得到它的ID
【特别的画线函数】
LineDDA()
【得到现在画笔或画刷的位置】
GetCurrentPosition()
SetROP2() //设置绘图模式
SetBkMode(HDC,INT) //OPAQUE,TRANSPARENT(透明)
SetBkColor()
GetBkMode()
GetBkColor()
LintTo() // 不包括最后一个点
Rectangle() //边界不包括坐标所在的线。其他绘图函数也是这样的
RoundRect() // 边角是圆的
【多边型函数】有2个:Polygon() 和PolyPolygon() 这两个具体怎么填充由填充方式决定(用SetPolyFillMode()来设定):ALTERNATE和 WINDING。
ALTERNATE:(为缺省填充模式):只填充那些重叠了奇数次的区域(区域至少有一边和外界相邻)
WINDING:填充所有的封闭区域
(我认为上面的说法一定的错误,上面的来自蔡明志的《Windows程序设计,绘图篇》-使用BCB 第4章图形的绘制,Window程序设计上不是这样说的)
【画刷】
1 CreateSolidBrush() //单一 的一种颜色 8*8的位图像
2 CreateHatchBrush() //花纹种类的画刷
3 CreatePatternBrush() //一个8*8的位图像,又LoadBitmap装入,也可以是CreateBitmap() 或CreateBitmapIndirect() 或CreateCompatible() 创建,
4 CreateDIBPatternBrush(hPackedDIB,wUsage);
hPackedDIB 是GLOBALHANDLE型的变量, 是GlobalAlloc配置的一块内存,wUsage决定位图的颜色表是用调色板索引值还是采用实际的索引值。
5 CreateBrushIndirect(lpLogBrush);用法和CreatePenIndirect() 一样
【区域Region】
CreateRectRgn()/CreateEllipseRgn()/CreateRectRgnIndirect()/CreateEllipseRgnIndirect()/CreateRoundRectRgn()/CreatePolygonRgn()/CreatePolyPolygonRgn()/
组合:CombineRgn()
【调色板】
CreatePalette();/SelectPalette()/RealizePalette()/然后通过索引来使用就行了PALETTEINDEX() /PALETTERGB():选相近的颜色值
乱七八糟的Windows API笔记
最新推荐文章于 2025-08-07 22:59:06 发布