CRectの動作で疑問

[戻る]
ナオーバ 2003/02/21(金) 22:19:41
CRect rctWin;
GetWindowRect( rctWin );  としたときは、
CRect::operator LPRECTが作用して変換されたLPRECTが
CWnd::GetWindowRectに渡されます。

GetWindowRect( &rctWin );  としたときは、
CWnd::GetWindowRectになにが渡っているのでしょうか?
どちらを使用しても問題もなく動作します。

&rctWinはCRectのアドレスなのはわかるのですが、
GetWindowRect( LPRECT lpRect )でLPRECTを渡すハズです
LPRECTは
 typedef struct tagRECT
 {
     LONG    left;
     LONG    top;
     LONG    right;
     LONG    bottom;
 } RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
となっており、RECTのポインタみたいです

CRectとRECTは違うのに何故?

宜しくお願いします

επιστημη 2003/02/21(金) 22:32:22
> CRectとRECTは違うのに何故?

class CRect : public tagRECT { ... }; だから。

ナオーバ 2003/02/21(金) 22:50:24
[[解決]]
ありがとうございます。
よく見たらMSDNにも書いてありました。
構造体からの派生もできるんですね
全く気が付きませんでした

ありがとうございました

古いスレッドには追加発言できません。