こんにちわ(^−^
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
ツイート | ![]() |