☆ListBoxのDrawItem No2
前回は、ListBoxのバグをアニメーション表示を無効にすることで回避しましたが、フォームのMouseWheelDown、
MouseWheelUpを使って、次のような処理でも回避できます。
Valueの値を変えて、スクロールの移動量も変えたりするようにプログラムを修正することもできますね。
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); const Value = 1; begin if (ActiveControl is TListBox) and ((ActiveControl as TListBox) = ListBox1) then begin ListBox1.TopIndex := ListBox1.TopIndex + Value; Handled := True; end; end;
procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); const Value = -1; begin if (ActiveControl is TListBox) and ((ActiveControl as TListBox) = ListBox1) then begin ListBox1.TopIndex := ListBox1.TopIndex + Value; Handled := True; end; end;
Valueの値を変えて、スクロールの移動量も変えたりするようにプログラムを修正することもできますね。
| 固定リンク