はじめまして。Puppyです。
VC6のMFCクラスを使って組んでます。
ダイアログベースです。
CStaticの派生クラスをつくり、初期設定したいのでOnCreate()をクラスウィザードで
追加しました。でも、そこにブレークを設定しても来ないんですぅ。(T-T
なぜなんでしょうか。
お願いします。m(..)m
派生したCStaticのオブジェクトをCreateしてますか?
ダイアログベースということなので、メンバ変数として派生クラスを追加している場合には、
サブクラス化されることになるのでWM_CREATEではなく、CWnd::PreSubclassWindowあたりが
呼ばれると思います
Puppyです。
不良PGさん お返事ありがとございます。m(..)mぺこり
えと、ダイアログにスタティックをはって
それをクラスウィザードで CStaticHase (派生クラス)に
わりあてました。(基本クラス CStaticからつくった)
CStaticHasei::OnPaint()にはちゃんと来るのに
CStaticHasei::OnCreate()には来ないんですぅ。
先輩が多分来るはずだというんですけど、
普通は来ないんでしょうか?
自分で調べろといわれて困ってます。
お願いします。m(..)mぺこり
>えと、ダイアログにスタティックをはって
>それをクラスウィザードで CStaticHase (派生クラス)に
>わりあてました。(基本クラス CStaticからつくった)
この内容からするとダイアログに貼ったスタティックにサブクラスしたことになります。
よってCStaticHaseは、構築(Create)されていないためWM_CREATEは、飛んできません。
したがってOnCreateは、呼ばれません。
>CStaticHasei::OnPaint()にはちゃんと来るのに
サブクラス化している為当然呼ばれます。
サブクラスについて調べることをお勧めします
Puppyです。
>よってCStaticHaseは、構築(Create)されていないためWM_CREATEは、飛んできませ
ん。
>したがってOnCreateは、呼ばれません。
「派生クラスはOnCreateは呼ばれない」 で正しいのでしょうか?
Createされないで動くんですか?う~ん。。。
>「派生クラスはOnCreateは呼ばれない」 で正しいのでしょうか?
違います、サブクラスするクラスのOnCreateが呼ばれないのです。
派生クラスでも、サブクラスされていなければ通常は構築時に呼ばれます
横槍ですが・・・
「先輩」の言う「多分来る」ってのは、もともとあまり
教える気がないっぽいので、アテにせずに、白紙から
考えられることをお勧めします・・・。
別に「先輩」の悪口をゆってるんぢゃないですよ。
Puppyです。
不良PGさん お返事ありがとございます。
>違います、サブクラスするクラスのOnCreateが呼ばれないのです。
派生クラスはサブクラスじゃないんですね。
もっとよく勉強します。
むずかしいんで、やんなっちゃう。>会社とVCへ(笑い)
あ、書いてる間に、またお返事が。。。
>別に「先輩」の悪口をゆってるんぢゃないですよ。
はーい。いもちぃさん はじめまして。お返事ありがとうございます。
先輩は、勘違いしたと、もうしておりましたですぅ。
>やんなっちゃう、もー、ブレークポイントに来なかったって言ったのにぃ。
今日はこのへんで、失礼します。
このページ、皆様ていねいに教えてくださるのでいいですねェ。
また、いろいろおしえてください。m(..)mぺこり