speedButton中有一个属性是boolean型

解决方案 »

  1.   

    基本上没有正规办法。我有一歪招,说不定能行:1、调用GetCaptureControl,看是否那个按钮;
    2、如果是,则检查鼠标是不是左钮按下的。这个可以用 GetKeyState还办到:传入参数VK_LBUTTON,看返回值的最高位是否为1。不过这个招不一定全都灵,推荐你试一试。
      

  2.   

      object SpeedButton1: TSpeedButton
        Left = 256
        Top = 129
        Width = 23
        Height = 22
        GroupIndex = 1
        Down = True
      end
      

  3.   

    procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
      if TSpeedButton(Sender).Down then begin
        TSpeedButton(Sender).AllowAllUp := True;
        TSpeedButton(Sender).GroupIndex := 0;
        TSpeedButton(Sender).Down := False;
      end else begin
        TSpeedButton(Sender).AllowAllUp := False;
        TSpeedButton(Sender).GroupIndex := 1;
        TSpeedButton(Sender).Down := True;
      end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      SpeedButton1.AllowAllUp := False;
      SpeedButton1.GroupIndex := 1;
      SpeedButton1.Down := True;
    end;
      

  4.   

    我是要从一个Edit里退出时判断是否按了这个按钮,其它一般按钮都有Focused属性来判断,但SpeedButton按钮没有这个属性,那要怎样做呢?
      

  5.   

    if speedbutton.down then .....
      

  6.   

    这个DOWN属性有什么用的,可以帮我解释一下吗? 它不是可以在设计时就可以改的吗
      

  7.   

    设置你所有的SpeedButton的GroupIndex属性为同一个大于0的数字,设置AllowAllUp为True。
    然后就可以通过Down这个属性判断它是否按下了