Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Достучаться до TOpenDialog [D7, WinXP]


Ламерюга ©   (2007-01-26 15:41:00) 

Вопрос - как? Мне бы хотелось его по-своему раскрасить, например...


Hero   (2007-01-28 06:16:00) [1]

забыл в конце написать frm.free


Hero   (2007-01-28 06:13:00) [2]

Создай новый проект, в Public запиши переменную FileName:string;
на форму кинь компоненты типа
DirectoryListBox
FileListBox
сделай событие OnClick на FilelistBox в процедуре присвой FileName значение выбранного, добавь пару модальных кнопок типа ок и Cancel
обзови форму типа OpenDlgFrm
Сохрани в папку компонента типа как MyOpenDialogUnit,
создай новый компонент
типа такого

unit MyOpenDialog;

interface

uses
Controls, Classes, Messages, Windows, Graphics;

type
 TMyOpenDialog = class(TComponent)
 private
   FFileName: String;
   Procedure SetFileName(value:string);
 protected
   { Protected declarations }
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   function Execute:boolean;
   property FileName:string read FFileName write SetFileName;
 end;

procedure Register;

implementation

uses MyOpenDialogUnit;

procedure Register;
begin
 RegisterComponents('Dialogs', [TMyOpenDialog]);
end;

constructor TMyOpenDialog.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
end;

destructor TMyOpenDialog.Destroy;
begin
 inherited Destroy;
end;

Procedure TMyOpenDialog.SetFileName(value:string) ;
begin
FFileName:=Value;
end;

function TMyOpenDialog.Execute:boolean;
var frm:TOpenDlgFrm;
begin
frm:=TOpenDlgFrm.Create(self);
frm.FileName:=FFileName;
if fileexists(FFileName) then
 frm.DirectoryListbox:=ExtractFilePath(FFileName);
if frm.ShowModal = 1 then
begin
   FFileName:=frm.FileName;
   result:=true;
end
else result:=false;
end;

end.


Ламерюга   (2007-01-26 16:14:00) [3]

clickmaker
а формочка к нему е? или она динамически создаётся?


zdm   (2007-01-26 16:04:00) [4]

Если писать и разбираться с исходниками не хочется, тогда путь один-Yandex.ru. А зачем в обще разукрашивать-то? Так для примера, я сколько не пробовал всяких прибамбасин наводящих "красоту" на ОС все равно возвращался к стандартному виду, который продумали профессионалы. А все остальное -лишь временное эстетическое удовлетворение доставляет, но не надолго.


clickmaker   (2007-01-26 15:57:00) [5]

TOpenPictureDialog из source\vcl\extdlgs.pas не подойдет для аналогии?


Ламерюга   (2007-01-26 15:51:00) [6]

zdm видишь ли, в дизайн обычное не вписывается :)
К тому же я просто не хочу использовать то, с чем ни разу не работал (типа Outline eg)


zdm   (2007-01-26 15:50:00) [7]

На страничке Win 3.1 замечательные стандартные компоненты, хотя юзеры вряд ли оценят твои старания. :)


zdm   (2007-01-26 15:48:00) [8]

Создай форму, разукрась как хочешь, кинь компоненты для общения с дисками,директориями и файлами и юзай.


Сергей М.   (2007-01-26 15:46:00) [9]

Юзеру нужны шашечки или ехать ?)


zdm   (2007-01-26 15:46:00) [10]


> Ламерюга   (26.01.07 15:41) 

Написать свой, в чем трабла то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо