• 締切済み

API関数でリストボックスのコントロールを

C(MFCを使用しない)でアプリを作ったのですが ダイアログボックス内のリストボックスで 表示させるデータが横幅より大きくなったら 水平スクロールを出したいのですがプロパティの 水平スクロールにチェックをつけても出ません!!! API関数を使って水平スクロールを出す方法を 教えてください。。至急。。どうぞよろしく お願いします。

noname#3170
noname#3170

みんなの回答

  • X4RR
  • ベストアンサー率62% (5/8)
回答No.2

ちょっと遅いかな… リストボックスにLB_SETHORIZONTALEXTENTメッセージを送ってスクロール幅を設定してやれば出てくるはずです。

  • bugmaru
  • ベストアンサー率38% (76/195)
回答No.1

CreateWindow()関数のウィンドウスタイルパラメータに"WS_HSCROLL"を付ければでませんか? CreateWindow()関数の詳細な使い方や、引数の指定の仕方はMSDNライブラリやAPI参考書籍で確認してください。

関連するQ&A

  • VBとリストボックス

    こんにちわ。 いまVB6.0sp5でリストボックスに チェックボックス付きのリストを表示し, クリックで複数選択するロジックを組んでいます。 リストに表示するデータ件数がリストボックスの高さを超えるため, 横スクロールさせる必要があります。 そこで,2列目のキャプションをクリックすると, スクロールし,選択した行以外のチェックボックスが見た目, 消えてしまいます。 なお消えたチェックボックスの箇所をクリックすると, その行のチェックボックスが選択された状態で表示されます。 2列目のキャプションをクリックしたときに,ほかの行のチェックボックスを 消さないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 宜しくお願いします。

  • リストボックス内検索

    マクロ初心者です。 (エクセル2003を使用) ユーザーフォームにテキストボックスとリストボックスを作り、 リストボックス内のデータ(2列;ナンバーと文字、2500行くらい)の検索をテキストボックスに入力した文字で行いたいのですが、どうしていいのかわかりません。 ワークシート上では、Find関数を使ってできるのですが、リストボックス内の検索では使えませんか? inStr関数を使うのでしょうか? 検索がされたときのスクロールもできるといいのですが…。 よろしくお願いいたします。

  • MFCのリストボックスについて

    MFCをVC6.0で作成しています。現在、ダイアログボックスを作成しているのですが、ダイアログボックスの中のリストボックスについて、教えてください。 void CFileReadeDlg::GetIndex() { UpdateData(TRUE); m_nCount = m_xcList.GetCurSel(); if(m_nCount==LB_ERR) { AfxMessageBox("選択してください"); } } の関数で、リストボックス内に存在するカーソルの位置を割り出したいのですが、 この関数は、 void CFileReadeDlg::OnSelchangeDatatable() { // TODO: この位置にコントロール通知ハンドラ用のコードを追加してください GetIndex(); } のようにリストボックスの中のセルを変更した際に稼動する関数内で呼び出しています。 ですが、実際、このm_nCountには、0しか入りません。 これは、単にOnSelchangeDatatable()の関数を何処かの関数内にも呼び出していないからでしょうか。 そもそも、呼び出す必要はないかと思っていたのですが。 又、VCのヘルプに『単一選択リスト ボックスで、現在選択されている項目があれば、その項目の 0 から始まるインデックスを取得します』 とありましたが、0から始まるインデックスとは、どういうことを意味しているのでしょうか。 よろしくお願いします。

  • リストビューのスクロールバーを非表示にしたい

    eMbedded Visual C++ 4.0 、MFC 、ダイアログベースでプログラミングをしています。 リストビューのスクロールバーを非表示にしてCListCtrl::Scrollを使い別のプログラムからスクロールさせたく、 「EnableScrollBarCtrl」や「ShowScrollBar」を使ってみたりしましたが非表示にできません。 リストビューのプロパティで「スクロールさせない」にチェックすると、CListCtrl::Scrollによるスクロールができなくなってしまいます。 非表示でCListCtrl::Scrollでスクロールできる方法をご存知でしたら教えてください。 なぜ別のプログラムでスクロールさせたいのかといいますと複数のリストビューを連動させてスクロールさせたいためです。 eMbedded Visual C++ 4.0はVC++6.0と似ているようですのでそのあたりに詳しい方アドバイスをください。

  • Access2000のリストボックスでスクロール

    Access2000のリストボックスについてご質問致します。 リストボックス上にマウスポインタを持って行ったとき、スクロールを有効にする(スクロールができる)ようにすることは可能でしょうか。可能な場合、その方法を教えてください。 現状、リストボックス内の任意のデータを選択してから出ないとスクロールできません。 宜しくお願い致します。

  • リストボックスにチェックボックスを入れる

    リストボックスの中にいくつかのテーブルデータとチェックボックスを入れたいのですが、やり方を教えてください。 チェックボックスのテーブルを使ってクエリでやりましたが チェックボックスのチェックを入れる形にならず困っています。

  • コンボボックスのリスト表示について

    ユーザーフォーム上でコンボボックスを作成しました。 リストの元となるデータがあるセル範囲に名前を付け、 コンボボックスのRowSourceにその名前を入れてリストにしています。 リストを変更するときにはデータを作り変え、マクロでそのセル範囲に名前を付け替えるようにしています。 問題は前のリストの数が3つだったとし、次にリストの数を5つになるように作り変えた時にコンボボックスの表示が上3つまでしか表示されないのです。 リストのスクロールもできない状態です。 Visual Basicの画面でコンボボックスをいじったら直っています。 名前のセル範囲、データの変更はきちんと反映しています。 List Rows等のプロパティをいじってみても直りません。 どこを設定しなおせばいいのでしょうか。OSはMe、Excel2000です。

  • リストコントロールのクリック操作による文字列反転について

    VisualC++2005(MFC)でダイアログベースのプログラムを作成しています。そして、ダイアログにリストコントロールを配置して、文字列を一行単位に出力しています。そのリストコントロールの文字列箇所をクリックしても反転しないようにするためにはどのようにしたら良いのでしょうか?、お教えください。 ※DisabledプロパティをTRUEにしたら、クリックしても、文字列箇所が反転しないようになったのですが、縦スクロールバーまで使用出来なくなってしまいました。

  • C++とWin32APIでタブコントロールを作成するには

    C++のWin32APIで、MFCを使わずに、 ダイアログボックスの中にタブコントロールを実装したいのですが、 その方法が解らず困っています。 とりあえずウインドウにタブコントロールを 付ける事まではできたものの、 (MFCを使用しない方法で)ダイアログボックスの中に 表示させる方法が見つからないのです・・・。 VisualStudioを使用しているので、 ツールボックスの中にある「Tab Control」というものを ダイアログボックスの中に貼り付けてみましたが、 [Tab1]~[Tab5]までありますが見た目上だけのものなので、 当然実行してもそこには何もありません。 (項目も、タブを切り替える処理も追加してないので 当たり前ですよね^^;) この方法はやはりMFCを使用しないと無理なのでしょうか? もし方法がございましたら、どうかご伝授をよろしくお願いします

  • VBのリストボックスに水平スクロールを使いたい

    VBAを使用して画面を作っています。今、リストボックスに処理の結果を表示させています。 そのなかで、水平スクロールを使用したいのですが できますでしょうか?