■MFC相談室 mfc19d.dll■ at TECH
[2ch|▼Menu]
633:624
08/11/23 11:35:19
>>630
> DoDataExchangeよりも先にOnSizeが先に呼ばれてしまうから、

DoDataExchangeとの順番は関係なく、最小化のタイミング等でもWM_SIZEは
飛んでくるから、何らかの判定は必要だと思うけど?

codeguru.comの「CResizeDialog」だと、ダイアログにCRect型のメンバ変数
を追加して、コンストラクタでCRect::Empyt()しといて、一発目のOnSize
で、CRect::IsRectEmpty()がTRUEなら、現在のダイアログサイズを変数に
取り込み、FALSEなら、直前のOnSize()時に取り込んだダイアログサイズと、
新しいサイズの差を計算して、子コントロールのダイアログ内での移動や、
サイズ変更をやっていたかと。

OnCreate()⇔OnDestroy()のように、明らかに逆で呼ばれることはないメッ
セージを除いて、安易にフレームワークが呼び出す順番に依存するような
造りにはしない方がいいのでは?

アイコンやビットマップを貼り付けるスタティックコントロールとか、貼り
付けたイメージのサイズに合わせて、コントロールのみ単独でOnSize()が
呼び出されることもあるし。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4354日前に更新/186 KB
担当:undef