- PR -

VC++60MFC:クラスCWndのことで!

1
投稿者投稿内容
砂嵐ジバ
常連さん
会議室デビュー日: 2005/12/03
投稿数: 25
投稿日時: 2006-03-06 17:33
いつもお世話になっております!
Q1:
CWnd cWnd;//@
CWnd* pWnd = new CWnd;//A

cWnd.Create(略)
pWnd->Create(略)
  (略)
delete pWnd;

Q2:
Create()の第3引数のことですが
, WS_VISIBLE | WS_POPUPWINDOW | WS_CAPTION はエラーになります
, WS_OVERLAPPEDWINDOW | WS_VISIBLE は正常です
------------------------
Q1:
@とAの違いが良く分かりません。
どちらもオブジェクトが出来ると思いますが・・・
@とAでは,メンバ変数を共有出来ないのはわかります。
Q2:
POPUPWINDOWをうまく作れません。
エラーになる第3引数をどのように修正すればいいですか?
超素朴な質問ですみません、ご教授ください!
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-06 17:42
Q1
スタックに作っているか、ヒープに作っているかの違いです。
MFC 云々じゃなく、C++ の基本ですね。

Q2
WS_POPUP を指定する時は、CreateEx を使います。
理由は…忘れた--;
_________________
囚人のジレンマな日々
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-06 19:18
引用:

理由は…忘れた--;


Create() は子ウィンドウしか作れないようにしていますね。
MFC のソースを見たら
ASSERT(pParentWnd != NULL);
ASSERT((dwStyle & WS_POPUP) == 0);
と思いっきり書いとります。
_________________
囚人のジレンマな日々
1

スキルアップ/キャリアアップ(JOB@IT)