2009-01-20 38 views
2

RECT struct(tagRECT)或CRect转换为Gdiplus::Rect的最简单方法是什么?从tagRECT/CRect转换为Gdiplus :: Rect

Gdiplus::Rect tmpRect(rect.top, rect.left, rect.Width(), rect.Height()); 

的作品,但是很多打字。

回答

2

如果Gdiplus :: Rect的接口没有方便的构造函数,那么您可以创建一个自己的函数并在任何地方使用它。

Gdiplus::Rect CopyRect(const RECT &rect) 
{ 
    return Gdiplus::Rect(rect.left, rect.top, rect.Width(), rect.Height()); 
} 
2

签名是Rect([in] INT x, [in] INT y, [in] INT width, [in] INT height);所以应该

Gdiplus::Rect CopyRect(RECT &rect) 
{ 
    return Gdiplus::Rect(rect.left, rect.top, rect.Width(), rect.Height()); 
} 
+2

良好的渔获物;但是:您应该将此添加为另一个问题的注释,而不是将其添加为单独的答案(然后删除此答案)。 – BrendanMcK 2012-07-11 02:27:58