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

Вниз

Нестандартное свойство компонента   Найти похожие ветки 

 
TStas   (2012-05-05 21:24) [0]

Почти написал компонент. У него есть два свойства нестандарного типа. Для них готовы диалоговые окна редакторов и у них есть строковое представление. Но никак не могу решить, как лучше: или написать редактор компонента и уже в нём изменять свойства, или сделать, чтобы в Object inspector"е они появлялись и редакировались в редакторе свойства? Или и там и там?
Хотел это в "компонентах" спросить, но боюсь, что это сочтут за OffTop. Ведь я же спрашиваю не как написать, а что написать. Как это другие-то делают.


 
alexdn ©   (2012-05-05 21:26) [1]

Удалено модератором


 
MBo ©   (2012-05-05 21:47) [2]

Как сделано в TOpenDialog.Filter - похоже на твою задачу?


 
Юрий Зотов ©   (2012-05-05 22:28) [3]

Особой разницы нет, но если редактируются СВОЙСТВА, то логично сделать редакторы СВОЙСТВ, а не редактор компонента. Замещаем GetAttributes, возвращаем paDialog - в Object Inspector появится кнопка, которая и будет запускать диалог редактора.


 
TStas   (2012-05-05 22:41) [4]

Как сделано в TOpenDialog.Filter - похоже на твою задачу? //Да, Очень похоже. Спасибо. :)
Замещаем GetAttributes, возвращаем paDialog - в Object Inspector появится кнопка //Спасибо, Юрий. Это я знал из книжки, которую вы же мне на ММП и посоветовали.
Я просто решал, как сделать, наверно, сделаю оба варианта.
MBo сказал про TOpenDialog. Компонент по смыслу на него крайне похож. Вот у файлового диалога при двойном щелчке, т. е. в редакторе именно компонента, вылазит само диалоговое окно. Наверно, мне также стоит сделать?
Сам компонент - это диалог поиска и замены. Я редил в одном месте переписать поиск/замену, ну и решил сделать по полной программе, т. е. в виде компонента. А само окно, как в дельфях.


 
Германн ©   (2012-05-05 22:54) [5]


> Сам компонент - это диалог поиска и замены.

А чем он отличается от TFindDialog и TReplaceDialog?


 
TStas   (2012-05-06 02:09) [6]

Тем, что он еще и саму замену в текстовом поле производит.


 
alexdn ©   (2012-05-06 19:15) [7]

> TStas   (06.05.12 02:09) [6]
Напиши мне плиз на емайл, хо пообщаться немного..


 
TStas   (2012-05-06 23:34) [8]

>alexdn
Дык я бы написал, но у тебя в деталях мейла нету. :(
Могу свой написать: stas258(бешеная собака)yandex.ru А мы знакомы?
А компонент дописал. Завтра допишу описание и куда-нибудь повешу.


 
Германн ©   (2012-05-07 01:39) [9]


> TStas   (06.05.12 02:09) [6]
>
> Тем, что он еще и саму замену в текстовом поле производит.


> Завтра допишу описание и куда-нибудь повешу.

Посмотрю.


 
TStas   (2012-05-07 20:25) [10]

Я ещё чуточку не дописал.:) Всё классно работает, но только мне хочется, чтобы свойство редактировалось именно в редакторе СВОЙСТВА, а пока оба нестандарных свойства редактируются в редакторе компонента, что мне кажется не очень правильным. Просто там одного значения, с которым оперирует редактор свойства, мало, нужна ссылка на сам компонент.
Компонент, как написал, это поиск замена в текстовом редакторе. Окно выглядит, как такое же окно всамих дельфи. Собственно, оно-то и наталкнуло на мысль о написании компонента. А свойства нестандартных два: это связанные с компонентом TMenuItem (одно свойство) и кнопки любого кнопочного класса. У первых добавляются поменюшки, а у вторых назначаются Actionы. Пока всё в редакторе компонента редактируется, а первым пунктом, который двойным щелчком вызывается, я вообще сделал просто показ диалогового окна. Это я у TFileDialog списал. :)


 
TStas   (2012-05-07 23:32) [11]

А теперь дописал наконец. Даже самому нравится. Писал больше недели. НЕ то, чтобы всю неделю писал, всё-таки надо было и дела делать. Короче, вот он http://kupifirmu.com/Replacer/



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

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.064 c
15-1348061625
xayam
2012-09-19 17:33
2013.03.22
Демонстрационное оборудование


15-1342307267
Германн
2012-07-15 03:07
2013.03.22
Внешний USB-hard drive в качестве системного.


15-1348086602
Юрий
2012-09-20 00:30
2013.03.22
С днем рождения ! 20 сентября 2012 четверг


15-1328526701
2222
2012-02-06 15:11
2013.03.22
Вырезать полигон из полигона


15-1351157222
Empleado
2012-10-25 13:27
2013.03.22
DB с четырьмя таблицами





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