前提
VS2015
C++
Windows10環境
実現したいこと
- チェックボックスをデバッグ版でもまともに表示させたい
発生している問題
Windowsアプリケーション作成初心者です。
CCheckListBoxをCDockablePaneに追加して動作を確認しています。
CCheckListBox m_listがpaneのメンバです。
ListBox作成方法はPaneのOnCreate()の中で、m_listのCreate()を呼んでいます。
問題は、チェックボックスが
https://stackoverflow.com/questions/43936200/checkboxes-in-mfc-listbox-are-appearing-differently-in-vs2015
上記とほぼ同じ状況になっています。
ほぼ、というのはリリース版では正しく表示されますが、debug版では
https://i.stack.imgur.com/tl9Jr.jpg
のように異常な(3STATEが隣に表示される)表示になっている点が相違点です。
(リンク先はVS2010で発生すると言っていますが)
上記リンク先では、解法として以下のようなコードが示されています。
こちらも試してみたのですが、当方ローカルではdebug版のみ異常な表示になり、有効ではないようです。
解法をご存じの方、ご教示願えないでしょうか?
よろしくお願いします
試したこと
C++
1//pane内のOnCreate内で呼ぶように試したコード 2SetWindowTheme(m_list.GetSafeHwnd(), L"Explorer", L""); 3//or 4///////////////// 5//m_listのCreate後にm_listが呼ぶ形で試したコード 6SetWindowTheme(GetSafeHwnd(), L"Explorer", L""); 7
###補足
リンク先の
C++
1 WS_CHILD | WS_BORDER | LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_NOINTEGRALHEIGHT 2
は当方では
C++
1 WS_CHILD | WS_VSCROLL|LBS_HASSTRINGS |WS_HSCROLL 2
となっており、
BS_AUTOCHECKBOX をm_listのSetCheckStyleで指定してあります。
あなたの回答
tips
プレビュー