AZuSk's secret log

AZuSkの日々的Hack雑記

カーソルの乗った状態でホイールスクロール

      2007/12/04

スポンサーリンク

hoge.secret.jp_300x250

えー、悩んで検索して調べたのでメモしておきますね。
delphiのスクロールできるコンポーネント(TMemo、TListBox等)はクリックしてアクティブにした状態でないとホイールスクロールしてくれません。それって使い心地不便ですよね。しかもOnClickイベントがあったりしたら、スクロールの為だけにOnClickイベント処理もされてしまいます。

カーソルを乗せた状態でホイールでスクロールしましょう。Form1のOnMouseWheelに以下を書きます

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  if ( (listbox1.Left<(mousepos.X-left))
      and ((mousepos.X-left)<(listbox1.Left+listbox1.Width)))
      and ((listbox1.Top<(mousepos.Y-top))
      and (mousepos.Y-top<(listbox1.Top+listbox1.Height)) ) then
  begin
  //listbox1の座標とmouseの座標と比較計算して
  //(絶対座標なのでFormのleftとtopも計算にいれてある)
  //postmessageでlistbox1にスクロールmsgを渡す
    if wheeldelta>0 then
      postmessage(listbox1.Handle, WM_VSCROLL, SB_LINEUP, 0)
    else
      postmessage(listbox1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
  end;
end;

これでスクロールしてくれる。

Powered by ScribeFire.

未分類

スポンサーリンク

hoge.secret.jp_336x280

hoge.secret.jp_336x280

Message

メールアドレスが公開されることはありません。

CAPTCHA


  関連記事

no image
phpのif文が常に真になってしまう罠

titleの通りです。 vc++の人には分からない悩みでしょう。 私、delph …

no image
オーダースーツ@榮屋本舗

個人的には、普段はスーツとは無縁の生活だが、近々、同級生の結婚式の為に礼服を着な …

no image
ppmを使ってXAMPPにImage-Magickをインストール

ググって調べたら XAMPPのapacheのverにあったperl-addonを …

no image
ブログ通信簿

パソコンのお仕事というblogをおもしろいなあと思ってつらつらーっと読んでいたら …

no image
年賀状

あけましておめでとうございます(予定)ここにもブログパーツとして貼っている「ブロ …

no image
IEのJavascriptでclass値を設定してもCSSが適用されない

JavascriptでRSSを読み込んで動的にリンクタグを作るスクリプトを組んだ …

no image
GoogleMAPで桃鉄

phpでDatabaseから一覧取得するテスト終了。 ローカルテスト環境も出来た …

no image
今年の目標

レンタルスペースでMySQLが使えると言うことで、DBサイトの構築をする事。 ま …

no image
GoogleMap画像ジェネレータ

GoogleMapをblogなどでgif画像として使いたい時に、GoogleMa …

no image
fc2動画β版

fc2からメール来てました。11月からやってるみたいですが、今現在671件の動画 …