CEdit派生クラスの初期処理について

[戻る]
いずみ 2002/07/23(火) 17:36:50
環境:WinNT4.0 VC5

CEdit の派生クラスの初期処理を行う位置について質問させてください。

ダイアログ派生クラスであれば OnInitDialog
View 派生クラスであれば OnInitialUpdate で今までは初期処理を
行っていましたが、CEdit 派生クラスの場合の初期処理を行うのは
どこで行うのが最適なのでしょうか?

条件としては、ウィンドウの状態を変更する(入力可能桁数の設定)ので
ウィンドウが生成されている事が必須です。

非常に初歩的な質問ではあると思うのですが、良い案が浮かばないため
お知恵を拝借したいと思います。

sugar 2002/07/23(火) 18:14:56
既にウィンドウが生成されている必要があるのなら、
CEdit::Create()関数をオーバーライドしてはいかが?

いずみ 2002/07/23(火) 18:56:18
早速の回答ありがとうございます。

> CEdit::Create()関数をオーバーライドしてはいかが?
試してみましたが、サブクラス化してダイアログのメンバ変数とした場合は
Create()関数は通らないようです。

試しに PreSubclassWindow() をオーバーライドしてみたら
うまくいきました。

これが一般的な手順かはわかりませんが望む結果が出ましたので
解決とします。

いずみ 2002/07/23(火) 18:56:52
[[解決]]
解決。

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