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

Вниз

работа в ячейке 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
2-1229432563
Медвежонок Пятачок
2008-12-16 16:02
2009.02.01
Форма ActiveX


4-1205081692
Diki
2008-03-09 19:54
2009.02.01
Получение класса контрола


3-1213956787
keymaster
2008-06-20 14:13
2009.02.01
Проблема с ODAC при работе с Oracle Instant Client


2-1229171512
начинаюший 5
2008-12-13 15:31
2009.02.01
функции сдатами


15-1228732709
1234567
2008-12-08 13:38
2009.02.01
mwEdit