- ベストアンサー
コンボボックスのリストに水平スクロールバーを表示したい
WinXP,SDKで開発しています。 今、最大サイズ画面の右側にあるコンボボックスのリスト部分が表示仕切れなくて困っています。 実際のコンボボックスは小さく、リスト表示の時に大きくしています。 SendDlgItemMessage(hwnd, IDC_COMBO1, CB_SETDROPPEDWIDTH, 240, 0L); このサイズで丁度リストの中身が見えるのですが、リストが画面からはみ出しています。 そこで、リストのサイズを200くらいにして(200で画面に収まります)水平スクロールを表示したいのですがうまく行きません。 ShowScrollBar() で表示出来るかと思ったのですが、渡すウィンドウハンドルが分からないのです。 おそらくリストのウィンドウハンドルだと思うのですが… このリストのウィンドウハンドルを取得する方法がよく分からないのです。 GetComboBoxInfo() という関数があるようなのですが、コンパイルエラーになってしまって先にすすみません。(定義されていない識別子) そもそも考え方を間違えているのでしょうか。 もっと簡単な方法がありますか? アドバイスをお願い致します。
- みんなの回答 (4)
- 専門家の回答
お礼
ご回答ありがとうございます。 CB_SETHORIZONTALEXTENTはやってみたのですが、水平スクロールが出てこなかったので諦めていました。 WS_HSCROLLスタイルも、リソースエディタを使ってコンボボックスを生成していたため発見出来ませんでした。(リソースエディタには無いのでしょうか?) WS_HSCROLLスタイルを追加するのに苦労しましたが、結果きちんと水平スクロールが表示されました。 アドバイス、ありがとうございました。助かりました。