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 …

wordpressのテーマstinger5の記事冒頭にアイキャッチ画像を表示する為の改造

stinger5の初期状態のままだと、アイキャッチを設定しても、記事一覧には表示されますが、記事本文には表示されません。それではちょっと寂しいと感じましたので、テーマファイルを改造してみました。
最後の「まとめ」に、コピペで改造できるようにソースコードを載せています。

no image
ブログ通信簿のブログパーツを一時的に付けてみる

右側の最近のコメントの下に表示しています。

no image
蓮舫議員の公式サイトがTwitter風に刷新

蓮舫議員の公式サイトがTwitter風に刷新 理由をTwitterで聞いてみたh …

no image
Mootoolsのslideshowクラスの最初の表示だけランダムにする改造

http://code.google.com/p/slideshow/ HP に …

no image
Flash Catalyst Flash Builder 4に期待する@ZDNet

PhotoshopやIllustratorで作成したデザインを取り込むことが出来 …

no image
育児消耗品の価格調査~アマゾンvs楽天

アマゾンは送料無料 楽天は各ショップ毎に送料が違うので、それも考慮して買いましょ …

no image
Dreamweaverでサイトの管理情報が保存されないトラブル

HP作成にDreamweaverを使っているのですが、最近突然に、サイトの管理の …

no image
年賀状

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

no image
今なら京の初着屋のお宮参り産着がお買い得

男児お宮参り用 兜柄お宮参り初着 MF937価格:39,000円(税込、送料込) …