リストボックスのスクロールバーを表示するには?


まっち  2005-05-18 02:51:26  No: 57429

こんにちわ(^−^
VC++6.0  Windows2000、MFC、ダイアログベースで作成です。

リストボックスのスタイルを自分でプログラムで変更したところ、
スクロールバーがでなくなりました。

//▼ボタン1を押したときの処理です

CListBox* myList1=(CListBox*)GetDlgItem(IDC_LIST1);
//■リストボックスのスタイルを変更

DWORD  dwStyle, dwEx;
CRect  rect;
int  nID;

//現在のスタイル・その他を取得
dwStyle = myList1->GetStyle();
dwEx = myList1->GetExStyle();
myList1->GetWindowRect(&rect);
ScreenToClient(&rect);
nID = myList1->GetDlgCtrlID();
// 複数選択に
dwStyle |= LBS_MULTIPLESEL;
// 一度破棄して、再作成
myList1->DestroyWindow();
myList1->CreateEx( dwEx, _T("LISTBOX"), _T(""), 
dwStyle, rect, this, nID );

コーディングは上記となっています。
リソースに貼り付けた時点で「シングル」になっており
ボタンを押すことで「複数選択=マルチ」に切り替えて
みようとしたところ、うまくいったのですが
スクロールバーが表示されず、表示項目が多いと
マウスで移動させないと表示できません。
いったい↑のなにが足りないのでしょうか?
お判りになる方がいましたらご教授くださいM(__)M


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加