![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Достучаться до 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)
Написать свой, в чем трабла то?