
お世話になります。
WindowsXP / VC2005 / VC++ MFC / ダイヤログベースにて開発を行っています。
グループボックス内にコンボボックスを2つ配置しています。
コンボボックスにカーソルを合わせて、マウスホイールをスクロールした際、
ボックスの中身がスクロールしないのですが、スクロールする方法をご存知でしたら教えていただけないでしょうか?
グループボックス外にコンボボックスを配置した場合では、ボックスの中身がスクロールされており、
再度グループボックス内にてプロパティを変更したりと試してみたのですが、思うように行きません。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
グループボックスの Visibleプロパティは Trueがデフォルトだと思います
グループボックスを非表示になさっているのでしょうか?
この回答への補足
自宅PC(VC2005 Standard)でデバッグしたところ当該事象が起こり、
会社PC(VC2005 Professional)では当該事象は起こりませんでした。
どちらも共通のソリューションからデバッグしています。
また、一方のPCで作ったエグゼを他方のPCで動作するか確認予定です。
(お礼記載後に補足いたしました)
申し訳ありません。記載ミスでした。
VisibleプロパティはTrueで、DisabledプロパティがFalseです。
どちらか一方のTrue、Falseを反転すると、マウスホイールによる
コンボボックスのスクロールが可能となりますので、現在は
暫定的にDisabledプロパティをTrueにして作業しております。
No.2
- 回答日時:
コンボボックスの親は何なのでしょう
グループボックスですか? ダイアログですか?
タブオーダーはどのような順なのでしょう
コンボボックス1 > コンボボックス2 > グループボックス
といった順なら
グループボックス > コンボボックス1 > コンボボックス2
といった順序に直しましょう
ダイアログエディタを起動して CTRL+D または 書式 > タブオーダー
でタブオーダーを変更して リビルドしてみましょう
再度ご回答ありがとうございます。
コンボボックスの親は特に意識していませんでしたが、ダイヤログだと思います。
その方法として合っているかわからず申し訳ありませんが、
グループボックス内と外のコントロールに対して、GetParent()を行ったところ、
戻り値のアドレスがどちらも同じアドレスをさしていたため、そう判断しました。
タブオーダーに関してですが、一点記載漏れがあり、グループボックス内には2つのラベルがあります。
順序としては、グループボックス>ラベル1>コンボボックス1>ラベル2>コンボボックス2
となっておりましたので、念のため以下のように変更しましたが、特に変わりませんでした。
グループボックス>コンボボックス1>コンボボックス2>ラベル1>ラベル2
No.1
- 回答日時:
フォーカスがあたっていないだけなのでは無いですか?
CDialogクラスの WM_MOUSEWHEELメッセージのハンドラで
CRect rc;
CWnd* pWnd;
// コンボボックスを取得
pWnd = GetDlgItem( IDC_COMBO1 );
// 位置+大きさを取得
pWnd->GetWindowRect( &rc );
// ダイアログ座標に変換
ScreenToClient( &rc );
// 引数の ptもダイアログ座標に変換
ScreenToClient( &pt );
// Ptが コンボボックスの中なら フォーカス設定する
if ( rc.PtInRect( pt ) ) {
pWnd->SetFocus();
}
早速のご回答ありがとうございます。やはり思うように行きません。
ご指摘のとおりコンボボックスに対してフォーカスは当たっておらず、
ソースコードを引用することによりフォーカスは当たるようになりましたが、
状況は変化しませんでした(キーボードの↑キー、↓キーなどでは選択可能)。
現状、グループボックスのDisabledとVisibleプロパティはFalseとなっており、
どちらか一方をTrueにしますと、スクロールは可能になりますが、本末転倒です。
WM_MOUSEWHEELメッセージのハンドラでコンボボックスの値を変更するような
コードの追加が必要となるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 画面上の[タスクバー]の位置の変更 1 2022/06/12 21:10
- 郵便・宅配 マンションなどの宅配ボックスの利用方法について 4 2023/03/17 21:47
- Excel(エクセル) エクセル シート内のボックスを縦並びから横並びに 7 2023/04/05 04:28
- 郵便・宅配 宅配ボックス(集合住宅)の使い方について 1 2022/11/23 16:47
- 郵便・宅配 マンションの宅配ボックスの場所について Amazonで注文した品物を手渡しで受け取る際にAmazon 4 2022/06/14 09:52
- 電気工事士 第一種電気工事士の実務経験について。 工期とはどの期間を言いますか? 例えば、制御ボックスを増設する 1 2023/02/01 17:47
- 電車・路線・地下鉄 電車のボックス席について 先日、ガラガラの電車の2人席に1人で座っていた所、他の方が私の前の椅子の背 4 2022/06/04 11:20
- Word(ワード) ワード2019で、テキストボックスの位置を、左右の真ん中にする方法 1 2022/09/21 13:49
- Windows 10 タスクバー上に表示されたアドレス・ボックス? 1 2023/04/30 17:37
- Windows 10 サブアカウントの名前変更 1 2023/02/11 01:27
このQ&Aを見た人はこんなQ&Aも見ています
-
Groupboxの配下のコントロール名を確認したい(その逆も有り)
Visual Basic(VBA)
-
ラジオボタンの値の取得について(C++)
C言語・C++・C#
-
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
-
4
ラジオボタンのグループ化
C言語・C++・C#
-
5
OnDrawが呼び出されません
C言語・C++・C#
-
6
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
7
VC++スレッドの正しい終了のさせかた
C言語・C++・C#
-
8
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
9
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
10
ビジュアルC++でボタンの有効/無効
C言語・C++・C#
-
11
VC++ ラジオボタンの初期値について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFを(htmlのように)無限に縦...
-
マウスオーバー→ホイール回転で...
-
アコーディオンで開かれたパネ...
-
ホームページ 上から降りてく...
-
写真を右から左にスクロールさ...
-
html js 横軸の長いチャート
-
IEにおけるプルダウン、テキ...
-
新着情報などをスクロールしな...
-
<table>でスクロール連動をしたい
-
要素を消す方法
-
ワードでHP作成中ですが流れ...
-
デジタル時計の時刻合わせの方...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
エクセルのシート上に別のシー...
-
スクリプトって、何ですか?ど...
-
Outlookのエラー表示について
-
1クリックでモーダルを開いてか...
-
小さな表示窓の呼び方は
-
[Java] Edgeでのアドレスバー非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでワードアートや図を常に...
-
PDFを(htmlのように)無限に縦...
-
エクセルVBAでフォームのListbo...
-
リストビューをスクロールさせ...
-
アコーディオンで開かれたパネ...
-
Visual Basicから Spreadのスク...
-
大きい表へのスクロールバーの...
-
マウスオーバー→ホイール回転で...
-
vb,netでtextboxの文字を右から...
-
ExcelVBAで他のアプリをスクロ...
-
新着情報などをスクロールしな...
-
マウスでコロコロしたいんですが…
-
リストビューのスクロールバー...
-
Excelで一部分だけを常に表示さ...
-
エクセルで行を固定しその下か...
-
マウスホイールでスクロールで...
-
文章の自動スクロール
-
html js 横軸の長いチャート
-
上下キーを押すと、ページスク...
-
C#:ListViewでのスクロールイベ...
おすすめ情報