Форум: "Основная";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизTStringGrid с свойством Captions:TStrings(заголовки столбцов) Найти похожие ветки
← →
Елена (2003-03-30 23:46) [0]Помогите, пожалуйста, бедной девушке, делающей первые шаги в освоении нелегкой профессии программиста, написать компоненту TStringGrid с ее свойством Captions:TStrings(заголовки столбцов), вместе с редактором свойств компоненты, редактором полей. Буду очень благодарна, если кто-нибудь может что-либо порекомендовать.
← →
Palladin (2003-03-31 00:24) [1]ничего себе первые шаги...
чем простой TStringGrid не угодил?
← →
Юрий Зотов (2003-03-31 10:31) [2]Однако, для "девушки, делающей первые шаги", вопрос сформулирован слишком четко и слишком грамотно. Не проще ли было не прибегать к уловкам, а прямо сказать - народ, напишите для меня компонент со всеми к нему примочками, или дайте ссылку на готовый?
Впрочем, если есть конкретные вопросы - готов помочь.
← →
Елена (2003-04-02 22:38) [3]Мне надо курсовик написать, это задание такое: TStringGrid с ее свойством Captions:TStrings(заголовки столбцов), хотелось бы самой попробовать. А помошников среди коллег-студентов нет. Даже в книге про сооздание компонент совсем мало написано, даже не знаю с чего начинать.
От чего надо наследовать? От StringGrid, ведь придется скрыть свойство ColCount(оно зависит от количества строк ). И как можно перегрузить свойство TPropertyEditor.Edit в данном случае(я не вполне понимаю что это такое).
Впрочем, если есть ссылка на что-нибудь похожее (или хотя бы описание-пример), буду очень благодарна.
← →
Юрий Зотов (2003-04-03 00:33) [4]Более простой путь примерно такой.
1. Наследоваться от TStringGrid.
2. Ввести поле FCaptions: TStrings и свойство Captions: TStrings (чтение - прямое, запись - методом Set).
3. Свойство ColCount перекрыть, сделать его Read-only с методом Get (Result := FCaptions.Count) и зарегистрировать для него nil-ный редактор (это скроет его из OI).
4. Метод SetCaptions:
- FCaptions.Assign(Value)
- inherited ColCount := FCaptions.Count
- Cols[0].Assign(FCaptions)
5. Редактор колонок можно и не писать - по умолчанию будет использоваться стандартный TSringsProperty. Если уж очень надо, можно написать нечто подобное.
Более сложный (но и более правильный) путь - наследоваться от TCustomGrid и писать функциональную часть ручками. Подсказка - исходники TDrawGrid и TStringGrid.
> как можно перегрузить свойство TPropertyEditor.Edit
Как и любой другой виртуальный метод (потому что это метод, а не свойство). В исходниках VCL целая куча примеров редакторов свойств и практически все они перекрывают какие-то методы TPropertyEditor.
← →
TY (2003-04-03 01:51) [5]Почему девушки всегда начинают свой вопрос с:
Помогите, пожалуйста, бедной девушке,
обратите внимание и это практически закон.
Представьте если бы мужики начинали также:
Помогите пожалуйста бедному парню-))))
← →
Anatoly Podgoretsky (2003-04-03 08:45) [6]Не учите меня жить, лучше помогите материально.
← →
AlexandrN (2003-04-03 10:02) [7]Привет Елена...
Если тебе всё ещё нужно похожий компонен то я могу тебе его слить с исходниками на мыло(если мыло укажешь), отличие только в том что Columns(Колонки), реализованы целиком с дополнительными возможностями, на основе TCollectionItem, а не TStrings, но придолжном расмотрении это будет хороший пример по твоей теме, и незаймёт много времени, чтобы его переделать под твои потребности.
P.S.
Если же хочется большего или конкретного, то прошу на wwww.torry.net - там аналогичног добра навалом, толь надо выбирать...
← →
Елена (2003-04-07 00:18) [8]Юрий, большое спасибо за помощь, с самой компонентой у меня все получилось. Редактор свойства еще не пробовала писать. Можно, если ещё вопросы появяться, к Вам обратиться?
А где можно взять исходники VCL?
Александр, мыло это email что-ли? Думаю, что мне ещё нужен похожий компонент, так что пошли его, пожалуйста (angel-balamutik@mail.ru).
← →
Юрий Зотов (2003-04-07 09:59) [9]> Можно, если ещё вопросы появяться, к Вам обратиться?
Разве форум уже закрывается?
> А где можно взять исходники VCL?
Каталог Delphi/Source. Если его нет - придется переустановить Delphi, НЕ СБРАСЫВАЯ НУЖНУЮ ПТИЧКУ.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c