• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストビューのスクロールバーを非表示にしたい)

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

このQ&Aのポイント
  • eMbedded Visual C++ 4.0、MFC、ダイアログベースでプログラミングをしています。
  • リストビューのスクロールバーを非表示にする方法を探しています。
  • スクロールバーを非表示にしながら別のプログラムからリストビューをスクロールさせたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんにちは。実験してみた所、実現できましたのでご報告いたします。 ・VC++6.0, MFC, にて行いました。 ・リストビューのスクロールをしないにチェックします(消したいようですので) ・単独のスクロールバー(IDC_SCROLLBAR1)をダイアログに貼り付けて、リストビューをスクロールさせています。 以下参考程度に。 void CKaiketuDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください //テスト用のスクロールバーに対して何かされた if(::GetDlgCtrlID(pScrollBar->GetSafeHwnd()) == IDC_SCROLLBAR1) { //縦の移動量を示す変数 int vScroll = 0; //何の操作か switch(nSBCode) { //下方向関係が押された case SB_LINEDOWN: case SB_PAGEDOWN: vScroll = -10; break; //上方向関係が押された case SB_LINEUP : case SB_PAGEUP : vScroll = 10; } //リストビューのクライアント領域をスクロールさせる ::ScrollWindowEx(m_listCtrl.GetSafeHwnd(), 0, vScroll, 0, 0, 0, 0, SW_SCROLLCHILDREN | SW_INVALIDATE); //リストビュー内の全てのアイテムをスクロールさせる for(int i = 0; i < m_listCtrl.GetItemCount(); ++i) { POINT ptPos = {0}; //アイテムの位置を取る m_listCtrl.GetItemPosition(i, &ptPos); //縦方向に向かって移動量を加算する ptPos.y += vScroll; //アイテム位置を設定する m_listCtrl.SetItemPosition(i, ptPos); } } CDialog::OnVScroll(nSBCode, nPos, pScrollBar); }

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

 こんにちは。  訂正です。  ScrollWindowEx()は必要ありませんでした。  アイテム位置を変更するだけでスクロール出来ます。

automatickey
質問者

お礼

ありがとうございます。御礼が遅くなりすみません。 試したところ、うまくいきませんでした。 どううまくいかなかったかは・・・すみません忘れました。 スクロールバーが表示されてしまったような気がします。 プロパティの「スクロールさせない」はアイテムがすべて収まるのが前提なのかもしれません。 また、リストビューのアイテムには高さ調整用のイメージを貼り付けているのでそれが関係していたかもしれません。 とりあえず「スクロールさせない」はチェックせず、表示されてしまうスクロールバーの部分は他のコントロールで隠すことで一応の解決を見ました。 ほかにいい方法があれば教えていただけるとたすかります。 テストできるかは分かりませんが。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リストビューのスクロールについて

    VC.NET MFC でリストビュー(CListCtrl)を使用しています。 そのリストビューにある垂直スクロールバーを操作しても、 PreTranslateMessage()になにもコマンドが送られてきません。 ・・・(1) また、LVN_BEGINSCROLLのハンドラを追加してみたんですが、 コンパイル時にLVN_BEGINSCROLLを認識してもらえません。 (コンパイルエラー) ・・・(2) いろいろ調べてcommctrl.hをインクルードしても 必要なDLL(Comctl32.lib ? Comclt32.lib)をプロジェクトに参加させても認識してもらえませんでした。 リストビューのスクロールバー操作時の処理をオーバーロードしたいのですが、できなくて困っています。 どのようにすればよろしいでしょうか? 助言のほどよろしくお願いします。

  • リストビューのスクロールバーについて

    いつもお世話になっております。 リストビューのスクロールバーについて教えて頂きたい事がございます。 ご教授よろしくお願いします。 リストビューにスクロールバーが表示されているのか?表示されていないのか?を判定する方法はありますか? よろしくお願いします。

  • リストビューのスクロール

    お世話様です。 C#.NET(1.1)でプログラミングしています。 リストビューですが以下の設定を行っています。 CheckedBox=true View=List MultiSelect=true Scrollable=true ※カラム関係は何も設定してません。 この設定で、アイテムをどんどん追加していき、ListViewの最大高さまで アイテムが埋まると、水平スクロールが表示され2列目が表示されるのですが、これを垂直スクロールで下に追加という形をとりたいのですが、 どうしたらいいのかわからないです。 (なぜCheckListBoxにしないのかというのは、複数選択ができないからです。) ご存知の方、ご教授願います。(××)

  • リストビューをスクロールさせるには

    フォームが表示されたあとリストビューを一番下までスクロールさせたいのですがどうすればいいのでしょうか?

  • スクロールバーでのピクチャーコントロールやリストビューの移動

    お世話になります。 今回お聞きしたいことは MFCでダイアログ上にリストコントロールとスクロールバー、またはピクチャーコントロールとスクロールバーを設置した際に、スクロールバーの移動に伴って、リストコントロール内の列や、ピクチャーコントロールに表示されている画像の見えている箇所を移動させることが出来るかどうか。 です。 まだ、本格的にプログラムを作り始めてるわけではないのですが、事前にこのような動作が実現可能かどうかお聞きしたく、質問させて頂きました。 もしご存知の方がいましたら、参考になるHPや方法を教えていただければと思っています。参考になるHPがなくても、実現可能かどうかだけ教えて下さるだけでも結構ですので、宜しくお願い致します。 開発環境は Windows CE 6.0 Visual Studio 2005 です。

  • リストコントロールのスクロールバーを操作無効にするには

    お世話になります、fujicafeと申します。 現在、VC++でMFCのダイアログベースのアプリケーションを作成し、そこでリストコントロールを配置させています。 リストコントロールは自動的に垂直方向のスクロールバーを表示させるようにしています。 そこで質問なのですが、現在、リストコントロールの垂直方向のスクロールをスクロールバーの操作ではなく、キー操作によって行おうと思っているのですがどのようにすればスクロールバーの操作を無効にできますでしょうか? ポイントとしては ・リストコントロールの自動的に表示させる垂直スクロールバーはそのまま表示させたい(スクロールバーは全体行での現在の行の位置を示すだけ) ・リストコントロールの垂直方向の移動はキー操作でしたい。 これを実現するには、やはりリストコントロールのスクロールバー表示を無しにし、別でスクロールバーを設置させるしか方法はないでしょうか? 現状で、キー操作でのリストコントロールのスクロールバーの操作は実現できていますので、出来ればリストコントロールのスクロールバーの操作の無効のみが出来ればいいなと思っております。 ご意見がありましたら、よろしくお願いいたします。 尚、開発環境は Windows CE 6.0 Visual Studio 2005 です。

  • iPhoneアプリ開発 スクロールバーを表示

    Xcode version 4.5 xib上にUIScrollView があります。 このスクロールビューに常時スクロールバーを表示させたいのです。 プロパティの設定等、行ってみたのですが、どうしてもスクロールバーを表示 することができません。 - (void)viewDidLoad { [super viewDidLoad]; scroll.indicatorStyle = UIScrollViewIndicatorStyleBlack; scroll.showsVerticalScrollIndicator = YES; } スクロールバーを表示する方法を教えてください。 よろしくお願いします。

  • リストビューの表示開始行変更

    リストビューで垂直スクロールバーを使用せず、ボタンがクリックされた時に、ページ切り替えみたいな事をしたいのですが、どのようにしたらいいのでしょうか? Visual C++ 6.0 SP6 Windows XP Pro SP3 どなたか助言をお願いします。

  • ダイアログボックスにリストビューを付けたが、リストが表示されない

    ダイアログボックスにリストビューを付けて、ダイアログボックスにデータの一覧を表示させたいのですが、うまく表示されません。  http://gurigumi.s349.xrea.com/programming/visualcpp/sdk_dialog_listview1.html を参考にして、プログラミングしました。 プログラムの大まかな処理としては、  1.InitCommonControls()をコール  2.GetDlgItem()で、ダイアログボックスに貼り付けられているウィンドウハンドルを取得  3.ListView_InsertColumn()をコールして、項目を追加  4.ListView_InsertItem()をコールして、1つ目の値を設定  5.ListView_SetItem()をコールして、2つ目以降の値を設定 だと思いますが、この手順で行っても、うまく表示されませんでした。 何か抜けている手順はあるのでしょうか? また、上記以外に、何かポイントにしなければならないことはあるのでしょうか? 申し訳ありませんが、ご返答くださいますよう、よろしくお願いいたします。

  • eMbeded Visual C++のリストボックスをスクロールする方法

    eMbedded Visual C++で作成したリストボックスに m_list.InsertString(-1,_T("abc")); といった具合で項目を複数追加しているのですが、 追加していってリストボックスの領域を はみ出した時に下のほうに追加された項目が見えなく なってしまいます。 自動的にスクロールさせたいのですがどのように すれば良いのでしょうか? よろしくお願いいたします。

一生でかける歯の治療費は?
このQ&Aのポイント
  • 歯ぎしりが原因で歯を失った結果、全体的な治療を検討している場合、総額330万円程度かかる可能性がある。
  • 歯ぎしりによる歯の損失は避けるべきであり、矯正治療やインプラントなどを検討することが重要。
  • 歯の治療には時間とお金がかかるため、患者自身の心構えとよく考えることが必要。
回答を見る

専門家に質問してみよう