掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CColorDialogについて (ID:59883)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ColorButtonが押されたときに以下のようにCColourPopupを表示しています。 new CColourPopup(CPoint(rDraw.left, rDraw.bottom), m_Color, this, m_strDefaultText, m_strCustomText); BOOL CColourPopup::Create(CPoint p, COLORREF crColour, CWnd* pParentWnd, LPCTSTR szDefaultText, LPCTSTR szCustomText) { ASSERT(pParentWnd && ::IsWindow(pParentWnd->GetSafeHwnd())); CString szClassName = AfxRegisterWndClass( CS_CLASSDC|CS_SAVEBITS|CS_HREDRAW|CS_VREDRAW, 0, (HBRUSH) (COLOR_BTNFACE+1), 0); if (!CWnd::CreateEx(0, szClassName, _T(""), WS_VISIBLE|WS_POPUP, p.x, p.y, 100, 100, pParentWnd->GetSafeHwnd(), 0, NULL)) return FALSE; SetCapture(); return TRUE; } 上記のColorPopupはCWndの派生クラスで自分で色の選択部分を描画させています。色の選択部分のある箇所をクリックすると以下のようにColorDialogを表示させる為以下のようにDoModalしています。 ReleaseCapture(); CColorDialog dlg(m_crInitialColour, CC_FULLOPEN| CC_ANYCOLOR, this); dlg.DoModal() マウス操作が無効になるというのは、ColorDialogとColorPopupはモーダルとして動作しているのですが、ColorDialogとColorButtonを持たしているDialogの間では、キーボードは無効となっているのですが、マウス操作が有効となってしまいます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.