Главная страница
    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.005 c
15-1228746981
Putnik
2008-12-08 17:36
2009.02.01
Интернет-кафе


6-1197982424
user51
2007-12-18 15:53
2009.02.01
подключение к ADSL модему, нужно правильное отображение


8-1190220168
vtur
2007-09-19 20:42
2009.02.01
Использование GFL SDK (XnView)


2-1229371449
Saidamin
2008-12-15 23:04
2009.02.01
initialization и finalization


6-1197906837
AllTrueIst
2007-12-17 18:53
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский