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

Вниз

работа в ячейке StringGrid с различными объектами.   Найти похожие ветки 

 
Leon161   (2008-04-02 13:21) [0]

Скажите, пожалуйста, с помощью какой компоненты можно работать в ячейке StringGrid с разлиными объектами. Пример: нужно в ячейки расположить три строки, которые будут по выбору изменяться, но проблема в том, что в ячейки запись идет строкой в 255 символов.


 
tesseract ©   (2008-04-02 13:53) [1]


> Скажите, пожалуйста, с помощью какой компоненты можно работать
> в ячейке StringGrid с разлиными объектами.


Обрабатывать события захода в ячейку и выводить в эту область свой элемент управления. TControlGrid вроде в D6 ещё не появилась.


 
Leon161   (2008-04-02 15:14) [2]

поставил Delphi 7. TControlGrid не нахожу. есть только DBCtrlGrid, но работаю не с БД. Может чего не понимаю, но всё таки....в какой закладке у Вас она находится, для начала...
P.S. Событие захода в ячейку - это какое? :) Спасибо.


 
Сергей М. ©   (2008-04-02 15:22) [3]


> есть только DBCtrlGrid, но работаю не с БД


А БД для этого и не нужна.


 
tesseract ©   (2008-04-02 15:43) [4]


> поставил Delphi 7.


В TurboDelphi/D2006 точно есть.


> P.S. Событие захода в ячейку - это какое? :)


OnClock OnKeyDown. Помню ComboBox у меня однозначно хорошо влезал.


 
Leon161   (2008-04-02 15:48) [5]


> брабатывать события захода в ячейку и выводить в эту область
> свой элемент управления.

а как добавлять свой элемент по ходу выполнения программы? допустим:

procedure TSostoyaniya.StringGrid3SelectCell(Sender: TObject; ACol,
 ARow: Integer; var CanSelect: Boolean);
begin

label1.Caption:=inttostr(ARow);
label2.Caption:=inttostr(ACol);

end;
что нужно добавить в код, чтобы в выбранной ячеки появилось сверху вних три Label?


 
tesseract ©   (2008-04-02 16:18) [6]

Определить координаты ячейки  StringGrid  и поместить их туда. Можно также фрэйм попробовать. А не проще в JVCL пошарить, там что-то такое было, я не помню уже что в D7 из контролов хорошего.


 
Leon161   (2008-04-02 19:47) [7]


> Определить координаты ячейки  StringGrid  и поместить их
> туда

они оказываются на "втором" плане и другие компоненты (в данном случае ListBox просто не видно).


 
tesseract ©   (2008-04-02 20:41) [8]


> они оказываются на "втором" плане и другие компоненты (в
> данном случае ListBox просто не видно).


parent выставляй. Работает точно, просто делалось лет 5 назад, щас уже не помню как и что в деталях.


 
KSergey ©   (2008-04-04 14:48) [9]

> Leon161   (02.04.08 15:48) [5]
> что нужно добавить в код, чтобы в выбранной ячеки появилось
> сверху вних три Label?

Если надо просто отобразить - то, на мой взгляд, будет правильнее либо в текст вводить #13 для обозначения новой с строки, тогда оно при выводе разобъется, либо ручками отрисовать эти 3 строки в OnDrawCell как хочется, что тоже просто.

А вот при редактировании - это другое дело. Тут Edit радо подставлять в нужное место, вероятно срязу 3 будет легче в реализации, пока не начнем озабачиваться проблемой корректной навигации кравишами. Вот тут уже наверное станет проще один дополнительный Edit использовать.


 
Leon161   (2008-04-04 15:42) [10]

всем спасибо, проблема решена.


 
azamatufa ©   (2008-04-08 06:43) [11]


> всем спасибо, проблема решена.


как?


 
MsGuns ©   (2008-04-08 08:23) [12]

>как?

Верятно, забитием на таком способе построения интерфейса


 
TStas ©   (2008-04-08 20:57) [13]

Зачем же в ячейку пихать лэйблы? Если нужен многострочный текст, есть чудестная ф-ция DRawText. Она может рисовать многострочный текст, если выставить флаг DT_WORDBREAK. Форматирует, как нужно и т. д. Зачем же с метками извращаться? Ведь при этом ячейки могут быть изменяетмых размеров. Тогда DRawText нормально отрисует текст под новый размер, а метка что сделает?



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

Форум: "Основная";
Текущий архив: 2009.02.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
15-1228652353
DillerXX
2008-12-07 15:19
2009.02.01
Питание для переносного винчестера


15-1222413251
Василий Жогарев
2008-09-26 11:14
2009.02.01
PostgreSQL, MySQL, IB, FB


1-1207680923
@!!ex
2008-04-08 22:55
2009.02.01
Использование 7z


2-1229498873
programmer90
2008-12-17 10:27
2009.02.01
Деревья


2-1229428657
1991
2008-12-16 14:57
2009.02.01
Оптимизация





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