我知道 MFC 中可以从 CBrush 通过 GetLogBrush() 得到一个 LOGBRUSH 结构,再进一步得到颜色在 SDK 编程时只有一个 HBRUSH 的句柄,请问怎样得到该画刷的颜色?我在 MSDN 中没有找到 GetLogBrush 对应的 API

解决方案 »

  1.   

    vc里面用GetStockObject
    不知道你那个啊
      

  2.   

    谢谢回复,我用的是VC6GetStockObject 得到的好象是一些预定的图形对象我现在希望从一个 HBRUSH 的句柄得到该画刷使用的颜色
      

  3.   

    GetObject()
    The GetObject function retrieves information for the specified graphics object. int GetObject(
      HGDIOBJ hgdiobj,  // handle to graphics object
      int cbBuffer,     // size of buffer for object information
      LPVOID lpvObject  // buffer for object information
    );
     这个行吗?
      

  4.   

    你看一下GetLogBrush()的源代码,不就什么都清楚了_AFXWIN_INLINE int CBrush::GetLogBrush(LOGBRUSH* pLogBrush)
    { ASSERT(m_hObject != NULL);
    return ::GetObject(m_hObject, sizeof(LOGBRUSH), pLogBrush); }
      

  5.   

    谢谢, 用 GetObject 成功了