通知
すべてクリア
Topic starter
2003年2月21日 10:19 PM
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年2月21日 10:32 PM
> CRectとRECTは違うのに何故?
class CRect : public tagRECT { ... }; だから。
Topic starter
2003年2月21日 10:50 PM
ありがとうございます。
よく見たらMSDNにも書いてありました。
構造体からの派生もできるんですね
全く気が付きませんでした
ありがとうございました