• 締切済み

トラックバーをクリックした時のつまみの位置について

トラックバーのつまみ以外の場所をクリックするとマウスカーソルの位置に関係なく、ページサイズで設定されている量だけつまみが移動するようですが、 クリックした位置につまみを移動するにはどうすればいいですか? (ダイアログベースのプログラムでダイアログに横向きのトラックバーを貼り付けている場合) --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

みんなの回答

回答No.1

スクロールバーのことですよね。 SB_PAGELEFT/SB_PAGERIGHTが来た時に、GetCursorPosなんかでマウスの位置を取得して、その位置に移動するようにSB_THUMBPOSITIONをPostMessageするとかではどうでしょうか。

nazoda
質問者

補足

スクロールバーのことではないです。 コモンコントロールの一つであるトラックバー(スライダー)です。

関連するQ&A

  • トラックバーのつまみを動かせない

     トラックバーの範囲を設定するときに最大値を98304以上にするとトラックバーのつまみを動かせなくなるのですが、これはトラックバーの仕様なのでしょうか?  これ以上の値を設定しても正常に動かす方法があったら教えてください。 <最大値の設定部分> InitCommonControls(); SendMessage(hbar,TBM_SETRANGE,TRUE,MAKELPARAM(0,98304)); --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

  • ダイアログボックスのサイズの違い

    ResEditを使いwidthを306に設定してダイアログボックスを作成したのですが、プログラム中にGetWindowRect関数を使い、そのダイアログボックスの横幅を調べてみると542という値が返されました。どうしてこのような違いが出るのでしょうか? また、両方の数値を一致させるにはどうすればいいですか? --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

  • 閉じてないファイルについて

    Visual C++ 2010 Expressで、開いたら閉じなければいけないファイルやハンドルを閉じないでプログラムを終了した場合に、閉じていないファイル名やハンドル名を確認するにはどうすればいいですか? --- 実行環境 --- Microsoft Visual C++ 2010 Express WIN32 ユニコードビルド C言語

  • webbrowserでクリックさせないようにしたい

    [言語:C#] [環境:Visual Studio 2005 Express] webbrowserに表示させたページ、あるいはフラッシュに対するクリックを無効に出来ないでしょうか? 可能ならば、WEBページに対するクリックは無効にした上で、 別のマウスイベント(ドラッグでウインドウの移動等)を行えるようにしたいのですが、何か方法はあるでしょうか?

  • gdiplus.dllを使わないプログラム開発

    はじめまして、 ”Microsoft Visual C++ 2008”にてダイアログベースのプログラムを書いています。 windows2000に対応するために、gdiplus.dllを使用しないプログラムを作成したいのですが、 新規作成したプロジェクトをそのままビルドしただけでもgdiplus.dllが読込まれてしまいます。 読込まなくするには、どのように設定を行なえばよいのでしょうか。 それとも”Visual C++ 2008”ではgdiplus.dllを使用しないダイアログベースのプログラム開発は不可能なのでしょうか。 動作対象OS:win2000(SPなし)以降 開発環境: 言語:Visual C++ 2008(visual studio 2008 professional edition) テンプレート:MFCアプリケーション アプリケーションの種類:ダイアログベース 以上、よろしくお願いいたします。

  • ウィンドウ起動時のカーソル位置について

    お世話になります。 OS:Windows Vista 言語:Visual C++ 2005 で開発しています。 TabControlを配置し、その中にTextBoxを配置した ウィンドウを開きます。 その時、最初に位置付くカーソルが Tabではなく、TabControl内のTextBoxにすることは可能でしょうか? TabIndexの順番をTextBox=0 TabControl=1にしてウィンドウを 起動しても最初のカーソル位置はTabControlに 位置付けられてしまいます。 以上、よろしくお願い致します。

  • クリックする位置がずれる

    「夢幻神域」っていうゲームをパソコンでやっているんですが、 [決定]とか[戻る]をクリックするときに、表示されているボタンより斜め下をクリックしないと ボタンをクリックしたことにならなくて困ってます。 そのウィンドウ自体が画面中央じゃなく、はしのほうにだいぶずれているので、ウィンドウの位置の問題なのでしょうか…左上にずれているので、クリックする位置は実際にクリックする位置より左上にある、といったかんじなのでしょうか。 そう思って、ウィンドウの移動を試みて、タスクバーで対象のソフトのアイコンを右クリックすると、 [ウィンドウを閉じる]しか選択肢がなくて、ウィンドウの枠のはしの部分にカーソルを合わせてクリックしたままドラックしても、ウィンドウが動きません。 ほかのソフトは問題なく動き、クリックする位置のズレも一切ありません。 なんとも操作しにくくて、まともにプレイできません。 回答よろしくお願いします!

  • キーボードでポインタの位置を決める

    C言語を用いて、プログラミングを行っています。 マウスのように、キーボードで x, y座標を入力し、 その座標にカーソルが移動するようにしたいのですが、 座標情報をどのように処理すれば、カーソルの位置が移動してくれるのかわかりません。 恐れ入りますが、どなたかご教授いただけないでしょうか。

  • Excel終了時にカーソル位置付け

    どう表現してよいか分かりませんが、やりたいことを書きます。 Excel終了時に"~への変更を保存しますか?"というダイアログボックスがでますが、このときカーソルを標準のボタンに位置づけしたいのです。 右上の×をクリックすると次は保存しますか?→"はい"にカーソルが位置づいているという要領です。 そのような動きになっているPCを見ましたので。 よろしくお願いします。

  • Microsoft Visual C++ 6.0 でC言語のみで書かれたプログラムコードをビルドしたい

    Microsoft Visual C++ 6.0 でC言語のみで書かれたプログラムコードをビルドしたいときはどうしたらいいのでしょうか? 何かスイッチがありますか? C++の文法で書かれていたらエラーになって欲しいのです。

専門家に質問してみよう