哪有这样控件:在Edit后面有个省略号,并有且省略号之持事件!

解决方案 »

  1.   

    自己写一个,或者用Amd控件包
      

  2.   

    在edit后放一个按钮好了
    要控件,可以把edit和button写在一起
      

  3.   

    在edit后放一个按钮,不好看!
      

  4.   

    自己写个,有点麻烦,SkinEngine包中没找到符合要求的!
    找不到Amd控件包!
    谁知道?马上给分!
    Kingron大侠,送给我一个吧!
    [email protected]
      

  5.   

    严重同意以下两人的意见。
    =======================
    回复人: ffossil(吴下阿蒙) ( ) 信誉:100 
    这样也有这么多三角???回复人: My_first(小@_@小) ( ) 信誉:110  
    放个按钮,加个图片。就搞定。不要老是想到用控件。 控件包占用的资源太大.
      

  6.   

    是Lmd控件包,我弄错了。
    unit ButtonEdit;interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, StdCtrls;type
      TButtonEdit = class(TEdit)
      private
        FButton: TButton;
        procedure SetButtonClick(const Value: TNotifyEvent);
        function GetButtonClick: TNotifyEvent;
        { Private declarations }
      protected
        { Protected declarations }
        procedure SetEditRect;
        procedure AdjustSize;override;
        procedure WMSize(var Message: TWMSize); message WM_SIZE;
        procedure CreateWnd; override;
        procedure CreateParams(var Params: TCreateParams); override;
      public
        { Public declarations }
        constructor Create(AOwner:TComponent);override;
        destructor Destroy;override;
      published
        property OnButtonClick:TNotifyEvent read GetButtonClick write SetButtonClick;
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [TButtonEdit]);
    end;{ TButtonEdit }procedure TButtonEdit.SetButtonClick(const Value: TNotifyEvent);
    begin
      FButton.OnClick := Value;
    end;constructor TButtonEdit.Create(AOwner: TComponent);
    begin
      inherited Create(AOwner);
      
      Width :=Width + 20;
      FButton :=TButton.Create(Self);
      with FButton do
      begin
        Caption:='...';
        Width :=20;
        Align :=alRight;
        Parent := Self;
      end;
    end;destructor TButtonEdit.Destroy;
    begin
      FButton.Free;
      inherited;
    end;function TButtonEdit.GetButtonClick: TNotifyEvent;
    begin
      Result :=FButton.OnClick;
    end;procedure TButtonEdit.AdjustSize;
    begin
      inherited;
      SetEditRect;
      FButton.Align := alRight;
    end;procedure TButtonEdit.SetEditRect;
    var
      r: TRect;
    begin
      inherited;
      r:=Rect(0,0, ClientWidth-FButton.Width, ClientHeight);
      SendMessage(Handle, EM_SETRECTNP, 0, LongInt(@r));
    //  SendMessage(Handle, EM_GETRECT, 0, LongInt(@r));
    end;procedure TButtonEdit.WMSize(var Message: TWMSize);
    begin
      AdjustSize;
    end;procedure TButtonEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      Params.Style := Params.Style or WS_CLIPCHILDREN;
    end;procedure TButtonEdit.CreateWnd;
    begin
      inherited CreateWnd;
      AdjustSize;
      SetEditRect;
    end;end.
      

  7.   

    用dev 的组件吧,全有,JVC的也有
      

  8.   

    Edt + SpeedButton 就行(Flat)
      

  9.   

    To madyak(下岗的程序员):
    SkinEngine控件包中,SeSkinEditButton1就是你所要的
    ButtonCaption 属性可以设为 "..." --"在Edit后面有个省略号"
    OnButtonClick 事件,可以响应你所要的--"省略号之持事件"
    你试试看.