掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MFC ActiveX Control で cs.style 変更後の再描画 (ID:69631)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
cs.styleの設定を実行中に変更したいのですが、PreCreateWindowは 最初に1回しか実行されない様なのです。 下記のようにPreCreateWindowを記載し BOOL CXXXXXCtrl::PreCreateWindow(CREATESTRUCT& cs) { cs.lpszClass = _T("EDIT"); if ( m_appearance == 1){ cs.dwExStyle = WS_EX_CLIENTEDGE; } if ( m_enabled == TRUE ){ cs.style =WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT; } else{ cs.style =WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT | ES_READONLY; }; return COleControl::PreCreateWindow(cs); } void CXXXXXCtrl::SetAppearance(short nNewValue) に RedrawWindow(); UpdateWindow(); InvalidateRect(); InvalidateRgn(); のどれ書いても OnDraw が実行され、PreCreateWindowは実行されません でした、CreateWindow なので最初の一回しか実行されないのかも しれませんが、CreateWindow後のcs.styleの変更方法を押しててください。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.