delphi 按钮可否去掉选中效果? 类似E语言的哪种按钮,就是去掉delphi按钮点击后的黑色边框(default=true那个效果),使按钮点击后也不显示黑边? 。

解决方案 »

  1.   

        button1.Visible := false;
        button1.Visible := true;ok!
      

  2.   


    procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      SendMessage(Button1.Handle, BM_SETSTYLE, WS_POPUP, 1);
    end;
      

  3.   


    procedure TButton.SetButtonStyle(ADefault: Boolean);
    const
      BS_MASK = $000F;
    var
      Style: Word;
    begin
      if HandleAllocated then
      begin
        if ADefault then Style := BS_DEFPUSHBUTTON else Style := BS_PUSHBUTTON;
        if GetWindowLong(Handle, GWL_STYLE) and BS_MASK <> Style then
          SendMessage(Handle, BM_SETSTYLE, Style, 1);
      end;
    end; 
    VCL 源码,
      

  4.   

    是TBUTTON 类拦截了 CM_FOCUSCHANGED消息,在消息处理函数里调用了 SetButtonStyle
      

  5.   

    是TBUTTON 类拦截了 CM_FOCUSCHANGED消息,在消息处理函数里调用了 SetButtonStyle 可否说一下解决办法?
      

  6.   

    如果要点后没变化就用image放个图片代替按钮。不过这样不会得到有焦点
      

  7.   

    你在按纽 Button1MouseDown事件下 加
    SendMessage(Button1.Handle, BM_SETSTYLE, WS_POPUP, 1);
    这句就可以了,其实就是设置他样式