2017-12-28 26 views
0

win32のアプリケーションでは、どのようにリストボックスの枠線/フレームの幅を増やすのですか?どのようにwin32のリストボックスの枠線/枠の幅を増やす

下記のようなリストボックスを取得したいと考えています。あなたが実際に標準のコントロールが占有されていない任意のウィンドウ領域を置く場所である(境界線のサイズだけではなく、全体的な制御のサイズを大きくしたい場合は、私はリストボックス

CRect p(7, 35, 300, 200); 

DWORD m_ListStyle =WS_CHILD|WS_VISIBLE|LBS_NOTIFY|WS_VSCROLL|WS_HSCROLL|WS_BORDER; 

m_ListStyle ^= LBS_SORT; 

m_ctrlListBox.Create(m_ListStyle , p, this,IDC_LIST); 

m_ctrlListBox.SetFont(GetParent()->GetFont()); 
+0

「WS_CAPTION」スタイルのないトップレベルの親ウィンドウを持つ標準フレームのリストボックスがあります。 「拡張」フレームは、この親ウィンドウから来ます。 – zett42

答えて

0

を作成するには、以下の使用しています Listbox Image

コントロールをサブクラス化してDwmExtendFrameIntoClientAreaを呼び出す必要があります。また、その境界領域を(WM_NCPAINTに応答して)ペイントし、その領域のマウスクリックを処理する必要があります(WM_NCHITTEST、 。

+0

'DwmExtendFrameIntoClientArea'は、トップレベルウィンドウ用であり、子ウィンドウ用ではありません。子ウィンドウの場合、 'WM_NCCALCSIZE'を処理する必要があります。 – zett42

関連する問題