开发者

Adding a button to TOpenPictureDialog

I'm using Delphi7 under Windows XP. How would I go about adding a "Delete" toolbutton to the Delphi TOpenPicture开发者_如何学编程Dialog component? Is there any way to get the dialog into the Designer to add the button and its behavior?


you can add a new button to the TOpenPictureDialog but not getting the dialog into the Designer, you must do it in runtime.

check this sample

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;

and the result is

Adding a button to TOpenPictureDialog


You can write your "own" OpenDialog and inherit this new Class from TOpenPictureDialog. There is an (old) freeware component named "PBOpenPreviewDialog" which does exactly this (from TOpenDialog), maybe you can take that component as an example?

You can find the webpage at: http://bak-o-soft.dk/Delphi/PBFolderDialog.aspx
And a download link for the component here: http://bak-o-soft.dk/Download.asgx.ashx/Delphi/PBFolderDialog.zip

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜