CRectの動作で疑問 – プログラミング – Home

通知
すべてクリア

[解決済] CRectの動作で疑問


ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

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は違うのに何故?

宜しくお願いします


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> CRectとRECTは違うのに何故?

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


返信引用
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
Topic starter  

ありがとうございます。
よく見たらMSDNにも書いてありました。
構造体からの派生もできるんですね
全く気が付きませんでした

ありがとうございました


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました