Главная страница
    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.008 c
1-54642
sidorov_al
2003-04-08 11:17
2003.04.17
Как положить ProgressBar на StatusBar


6-54774
Zelius
2003-02-25 12:00
2003.04.17
Проблемы с TidICMPClient!


1-54680
Pk
2003-04-03 22:57
2003.04.17
Открыть файл соответствующей программой


1-54727
Some1
2003-04-03 11:43
2003.04.17
Как удалить папку с подкаталогами?


3-54505
Filmax
2003-03-31 14:45
2003.04.17
Dbgrid-проверка на заполнение





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