Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
7-54918
IceMan_T
2003-02-19 15:07
2003.04.17
использование ASPI


3-54416
Z_man7777
2003-04-01 08:47
2003.04.17
Есть вопросик по InterBase 6.x


1-54741
Ruslan.
2003-04-02 19:18
2003.04.17
Office & Delphi


3-54529
Yuraz
2003-04-01 09:24
2003.04.17
Просмотр данных о функциях в Oracle.


14-54816
sancho
2003-03-31 20:33
2003.04.17
Почему я не могу отписаться от рассылки?





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