描述
创建一个DIB节.
FreeBASIC 语法
FUNCTION AfxCreateDIBSection ( _ BYVAL hdc AS HDC, _ BYVAL nWidth AS DWORD, _ BYVAL nHeight AS DWORD, _ BYVAL bpp AS LONG = 0, _ BYVAL ppvBits AS ANY PTR PTR = NULL ) AS HBITMAP |
参数
hdc |
[in]一设备上下文句柄. |
nWidth |
[in]位图的宽度,以像素为单位. |
nHeight |
[in]位图的高度,以像素为单位. |
bpp |
[in, opt]每像素的比特数.如果该参数为0,函数将返回的值GetDeviceCaps(HDC,BITSPIXEL_). |
ppvBits |
[out, opt]变量指针,指针DIB接收的比特值的位置.可以NULL. |
返回值
如果函数成功,返回值是一个句柄到新创建的DIB,和ppvBits点位图的位值.
如果函数失败,返回值是NULL,和ppvBits是NULL.的功能,如果一个或更多的输入参数是无效的失败.
此函数可以返回以下值:
Return code |
描述 |
ERROR_INVALID_PARAMETER |
一个或多个输入参数无效. |
备注
你必须删除DeleteObject返回的位图句柄时不再需要避免内存泄漏.
你不能从一个应用程序到另一个应用程序粘贴DIB节.
afxcreatedibsection不使用BITMAPINFOHEADER参数biXPelsPerMeter或biYPelsPerMeter并不会在BITMAPINFO结构提供分辨率信息.
用法示例
DIM hdcWindow AS HDC, hbmp AS HBITMAP, pvBits AS ANY PTR
hdcWindow = GetWindowDC(hwnd) ' where hwnd is the handle of the wanted window or control
hbmp = AfxCreateDIBSection(hdcWindow, 10, 10, @pvBits)
ReleaseDC(hwnd, hdcWindow)
引用文件
AfxWin.inc