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
mySQLのDownload元が分からない

以前、Apache+PHP4+mySQL4.0.24をインストールしてlolip …

no image
ブログペットつけてみるテスト

http://www.blogpet.net/ 久しぶりにブログペットのHPみた …

no image
BlogPetのブログエディタの問題点

表示モードがhtml表示なので、タグの編集が出来ない。普通に文章を手打ちする分に …

no image
GoogleMap画像ジェネレータ

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

no image
fc2動画β版

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

no image
トップページをブログ形式にしてみるテスト

旧geocityesのブログも忘れ去られ、現auOneも更新することが稀になりつ …

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

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

no image
ブログ通信簿

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

no image
OnMouseOverでリンク先のスクリーンショットを・・・

素直に公開APIにリンクした方がスマートです。はい、これ、結論。 スクリーンショ …

no image
Twitterの脆弱性、PCで閲覧しただけで感染するそうだ

Twitterの脆弱性突くコードが拡散 Webブラウザでのアクセス自粛呼び掛け …