Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
14-54790
Danilka
2003-03-31 11:26
2003.04.17
А где именинники?


14-54857
kravchuk
2003-04-01 18:26
2003.04.17
compiler magic


1-54608
George2003
2003-04-07 16:30
2003.04.17
ord(X)


3-54527
DAS
2003-03-31 11:57
2003.04.17
Импорт в Access из Visual FoxPro через ADO


8-54750
vvvaaa
2003-01-17 13:43
2003.04.17
Градиент