GetObject函数用法详解

GetObject函数用于从指定的图形对象中获取信息,原型如下:

    int GetObject(  
      __in   HGDIOBJ hgdiobj,  //图形对象的句柄
      __in   int cbBuffer,  //将写入到缓冲区中的图形对象信息的字节数
      __out  LPVOID lpvObject  //指向接收图形对象信息的缓冲区的指针
    );  


当函数执行成功且参数lpvObject为NULL时,返回值是保存获取的信息的缓冲区需要的字节数;

当函数执行成功且参数lpvObject是有效地指针时,返回值是存储到缓冲区中的数据的字节数;

当函数执行失败时,返回值是0。

实例代码如下,使用GetObject函数获取指定位图的大小:

    /******************************************************************** 
    * 获取指定位图的宽和高 
    ********************************************************************/  
    inline void GetBitmapSize(HBITMAP hBitmap, int& nWidth, int& nHeight)  
    {  
        BITMAP bm;  
        ::GetObject(hBitmap, sizeof(BITMAP), (PSTR)&bm);   
        nWidth = bm.bmWidth;  
        nHeight = bm.bmHeight;  
    }  


你可能感兴趣的:(Win32API(系统调用))