Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Вниз

Создание собственных редакторов свойств   Найти похожие ветки 

 
Сатир   (2002-04-09 16:19) [0]

Народ, посоветуйте, как добавить к компоненту редактор свойств, ну хотя бы, простенький такой, как Memo для Caption у Label"a или Hint. Нашел в книжке пример, но зря. Что-то они там не договаривают. Если кого интересует исходник из этой книжки, могу показать:
type THintProperty = class(TStringProperty)
public
function GetAttributes: TPropertyAttributes; override;
function GetValue: String; override;
procedure Edit; override;
end;


procedure Register;

implementation

function THintProperty.GetAttributes: TPropertyAttributes;
begin
Result:=inherited GetAttributes +[paDialog, paReadOnly];
end;

function THintProperty.GetValue: string;
var i:byte;
begin
Result:=inherited GetValue;
for i:=1 to Byte(result[0]) do
if result[i]<#32 then result:=">";
end;

procedure THintProperty.Edit;
var HintEditDlg: TStrEditDlg;
s:string;
begin
HintEditDlg:=TStrEditDlg.Create(Application);
with HintEditDlg do
try
Memo.MaxLength := 254;
s:=GetStrValue+#0;
Memo.Lines.SetText(@s[1]);
UpdateStatus(nil);
ActiveControl :=Memo;
If ShowModal = mrOK then begin
s:=StrPas(Memo.Lines.GetText);
if s[0]>#2 then Dec(Byte(s[0]),2);
SetStrValue(s);
end;
finally
Free;
end;
end;

procedure Register;
begin
RegisterPropertyEditor(TypeInfo(String), TControl, "Hint", THintProperty);
end;

Классы TStringProperty и TPropertyAttributes компилятор не находит, а где они объявлены в книжке не сказано. И если всё-таки кому-то удастся понять и откомпилировать этот код, тогда сразу вопрос на засыпку: Мне нужно создать такое же свойство под названием Source, в которое будет загружаться XML-файл, который будет пропускаться через XML-парсер. Так вот. Вопрос, как свойство Source объявить в виде такого редактора, код которого приведен выше?


 
Игорь Шевченко   (2002-04-09 17:14) [1]

День добрый,

Классы TStringProperty и TPropertyAttributes объявлены в dsgnintf

В Delphi\Source\Property Editors есть масса полезных примеров :-)

С уважением,




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.01 c
14-69994
Дмитрий
2002-03-15 12:24
2002.04.22
Документооборот?


3-69680
Incha
2002-03-14 16:43
2002.04.22
3-х звенное приложение клиент-сервер


6-69956
Niflhelmr
2002-02-11 16:17
2002.04.22
LDAP components?


3-69707
sysoper
2002-03-27 05:55
2002.04.22
Interbase5,6 and Win2000


1-69896
avatarx
2002-04-09 13:24
2002.04.22
TList to file?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский