[Regnessem-devel] ホイールマウスによるタブの切り替えについて

アーカイブの一覧に戻る

CyberX cx****@noir*****
2003年 6月 8日 (日) 22:01:27 JST


以前掲示板に要望のあった件について少しコードを書いてみました.
あくまでこんな感じでやれば良いのでは〜?ということなので,適宜修正して利
用して頂ければと思います.
一部の動作(次のタブへ,前のタブへ)をTExTabSetコンポーネントに組み込んで,
TWMMouseWheel.WheelDeltaによる選択呼び出しの処理をTFrmBaseContainerに入
れるのが現実的ではないかと夢想しているのですが…

procedure TFrmMain.MouseWheelHandler(var Message: TMessage);
var
  whl: TWMMouseWheel;
begin
  whl := TWMMouseWheel(Message);
  whl.XPos := whl.XPos - self.Left - TabSet.Left;
  whl.YPos := whl.YPos - self.Top - TabSet.Top;
  if ((0 <= whl.XPos) and (whl.XPos < TabSet.Width)) and ((0<= whl.YPos) and (whl.YPos < TabSet.Height)) then
  begin
    if TabSet.TabIndex > -1 then
      if whl.WheelDelta < 0 then
        TabSet.TabIndex := (TabSet.Items.Count + TabSet.TabIndex + 1) mod TabSet.Items.Count
      else
        TabSet.TabIndex := (TabSet.Items.Count + TabSet.TabIndex - 1) mod TabSet.Items.Count;
  end
  else
    inherited;
end;

-- 
CyberX <cx****@noir*****>




Regnessem-devel メーリングリストの案内
アーカイブの一覧に戻る