2009-01-20 5 views
2

Quelle est la manière la plus simple de convertir un RECT struct (tagRECT) ou un CRect en Gdiplus::Rect?Convertir de tagRECT/CRect en Gdiplus :: Rect

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

fonctionne mais il y a beaucoup de dactylographie.

Répondre

2

Si l'interface pour Gdiplus :: Rect n'a pas de constructeur pratique, vous pouvez créer votre propre fonction une seule fois et l'utiliser partout.

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

La signature est Rect([in] INT x, [in] INT y, [in] INT width, [in] INT height); il devrait donc être

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

Bonne prise; mais: vous devriez ajouter ceci comme commentaire à l'autre question au lieu de l'ajouter comme réponse séparée (et ensuite supprimer cette réponse). – BrendanMcK