我在Windows XP下使用Delphi7。如何在Delphi TOpenPictureDialog组件中添加“删除”工具按钮?有没有办法让对话框进入Designer添加按钮及其行为?
答案 0 :(得分: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;
,结果是
答案 1 :(得分:0)
您可以编写“自己的”OpenDialog并从TOpenPictureDialog继承这个新类。有一个名为“PBOpenPreviewDialog”的(旧)免费软件组件就是这样做的(来自TOpenDialog),也许您可以将该组件作为一个例子?
您可以在以下网址找到该网页:http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx
此处组件的下载链接:http://bak-o-soft.dk/Download.asgx.ashx/Delphi/PBFolderDialog.zip