Главная страница
    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.45 MB
Время: 0.007 c
6-69959
Alexey Evstigneev
2001-10-30 06:51
2002.04.22
Wake-on-Lan


1-69841
VEG
2002-04-10 21:18
2002.04.22
Загрузить программу из оперативки


1-69873
ymin
2002-04-09 11:21
2002.04.22
Как проще всего распечатать StringGrid? Кстати она помещается на.


3-69750
Юляша
2002-04-02 07:56
2002.04.22
Определение пути к базе данных


1-69922
yennifaire
2002-04-09 18:41
2002.04.22
Как правильно использовать функцию power?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский