向TOpenPictureDialog添加按钮

4 delphi delphi-7

我在Windows XP下使用Delphi7.如何在Delphi TOpenPictureDialog组件中添加"删除"工具按钮?有没有办法让对话框进入Designer添加按钮及其行为?

RRU*_*RUZ 5

您可以添加一个新按钮TOpenPictureDialog但不能将对话框添加到Designer中,您必须在运行时执行此操作.

检查这个样本

procedure TForm1.FormCreate(Sender: TObject);
var
  FDeleteButton   : TSpeedButton;
  FPreviewButton  : TSpeedButton;
begin
    FPreviewButton := TSpeedButton(OpenPictureDialog1.FindComponent('PreviewButton'));
    FDeleteButton  := TSpeedButton.Create(OpenPictureDialog1);
    FDeleteButton.SetBounds(107, 1, 23, 22);
    FDeleteButton.Parent    := FPreviewButton.Parent;
    FDeleteButton.NumGlyphs:=2;        
    FDeleteButton.Glyph.LoadFromResourceName(HInstance, 'BBABORT');
    FDeleteButton.Name    := 'DeleteButton';
    FDeleteButton.OnClick := DeleteBtnClick;
end;

procedure TForm1.DeleteBtnClick(Sender: TObject);
begin
   //here you must implement the delete logic 
   ShowMessage('Hello from delete button');
end;
Run Code Online (Sandbox Code Playgroud)

结果是

在此输入图像描述