Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизВопрос по компонентам, точнее по созданию редактора свойств. Найти похожие ветки
← →
Ig © (2004-05-02 10:00) [0]Как можно сделать, что бы для выбора рисунка в свойстве компонента, открывался диалог выбора графических файлов?
Где-то нашел такой пример:Uses .....,TypInfo,DesignIntf,
public
{ function getattributes: TPropertyattributes; override;
procedure Edit; override; }
procedure Register;
begin
RegisterPropertyEditor(Typeinfo(String),
TMyComponent, "Filename", TFileNameProperty);
end;
Procedure TFilenameProperty.edit;
var
MFileOpen: TOpenPictureDialog;
begin
MFileOpen := TOpenPictureDialog.Create(Application);
MFileOpen.Filename := GetValue;
MFileOpen.Filter := "BMP|*.bmp";
MFileOpen.Options := MFileOpen.Options + [ofPathMustExist,ofFileMustExist];
try
if MFileOpen.Execute then
SetValue(MFileOpen.Filename);
finally
MFileOpen.Free;
end;
end;
Даже проверить работает или нет не получилось, так как пишет ошибку: "File not found: "DesignIntf.dcu""
Может этот файл надо где-то отдельно брать, подскажите пожалуйста, а то прописывать каждый раз ручками путь до файла как-то напрягает :(
← →
Ig © (2004-05-02 10:13) [1]Все, что хотел уже сделал, но по другому, так, что вопрос все еще открыт.
P.S. DsgnIntf-тоже пробовал, результат тот же, а точнее результата вообще нет.
← →
Юрий Зотов © (2004-05-02 10:32) [2]1. Правильно - DsgnIntf.
2. Чтобы редактор свойства поднимал диалог, надо заместить в нем методы GetAttributes (включить paDialog) и Edit. Второе Вы уже сделали, осталось первое. Детали см. в справке.
← →
Ig © (2004-05-02 10:52) [3]
function TFileNameProperty.GetAttributes;
что-то я это пропустил.
begin
Result := [paDialog];
end;
DsgnIntf -я же говорю тоже не находит :(
← →
Юрий Зотов © (2004-05-02 11:13) [4]Какая версия Delphi? Если 6 и выше, то DesignEditors.
А вообще - кто мешает сделать поиск по каталогу Delphi/Source (включая подкаталоги) файлов *.pas со строкой:
TPropertyEditor = class
Или просто заглянуть в справку - там ведь тоже для каждого класса его юнит указан.
← →
Ig © (2004-05-02 14:59) [5]Вообще-то у меня Delphi7.
т.е. надо только добавлять DesignEditors?
DesignEditors - "File not found";
Может у меня копия Delphi левая :(
Интересно, а вообще, где все это дело лежит, папку Lib Я просмотрел, такого не имеется..
← →
P.N.P. © (2004-05-02 15:04) [6]Delphi\Source\Property Editors\
← →
P.N.P. © (2004-05-02 15:05) [7]Ой..
правильный путь -
Delphi\Source\ToolsAPI\
← →
Ig © (2004-05-02 15:15) [8]Нашел(Delphi\Source\ToolsAPI\DesignIntf), но понять не пойму почему Delph"я выдает такую ошибку?
Может надо, что-то сделать, что бы она увидела этот файл?
← →
P.N.P. © (2004-05-02 15:28) [9]Надо добавть путь Delphi\Source\ToolsAPI\
в Library Path
(главное меню дельфи -Tools->Environment Options->Library->Library Path)
← →
Ig © (2004-05-02 15:42) [10]теперь показывает чтот нет "Proxies" в DesignEditors"...
← →
Rouse_ © (2004-05-02 15:47) [11]http://delphimaster.net/view/1-1083251231/
← →
Anatoly Podgoretsky © (2004-05-02 16:03) [12]http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N144
← →
Юрий Зотов © (2004-05-02 16:40) [13]> Ig © (02.05.04 15:42) [10]
1. Разбейте пакет на 2: run-time и design-time. Во втором - все, что относится ТОЛЬКО к design-time (процедура Register, ресурсы иконок компонентов, редакторы свойств и компонентов...). Соответственно, в первом - все остальное (сами компоненты и пр.). Любые модули второго пакета имеют право ссылаться на любые модули из первого, но никакой модуль из первого ни в коем случае не должен ссылаться ни на один модуль из второго.
2. Откомпилируйте первый пакет в каталог, доступный через пути поиска. Инсталлировать его в IDE не нужно
3. В секцию Requires второго пакета добавьте DCP первого пакета и DesignIDE.dcp.
4. Инсталлируйте в IDE второй пакет.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.026 c