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

Вниз

Вставка визуального коспонента в StringGrid/DrawGrid   Найти похожие ветки 

 
phan   (2003-10-29 23:18) [0]

Привет всем.
?Как добавить в StringGrid/DrawGrid
компонентe - например ComboBox/Image.
Здесь есть примерчик, но он из области обмануть юзверя
а мне бы пример как бы компоненту туда засунуть
или хотябы куда копать
(property or any free components library).


 
Ломброзо ©   (2003-10-30 00:31) [1]

Комбобокс "засовывать" в StringGrid - выйдет очень некрасиво, потому что 3D Border у него не снимается. Комбобокс имитируют примерно так: отрисовывают кнопку со стрелкой вниз в ячейке (DrawFrameControl); выпадающий список - это листбокс со стилями WS_EX_TOOLWINDOW и WS_EX_TOPMOST и имеющий родительским окном рабочий стол, подгоняющийся динамически под нижний и левый края ячейки и динамически же меняющий видимость.


 
Спрашивающий_   (2003-10-30 01:32) [2]

А Image вставить можно примерно так
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
If (ACol=1) and (ARow=1) Then StringGrid1.Canvas.StretchDraw(Rect,Image1.Picture.Graphic);
end;


 
phan   (2003-10-30 13:22) [3]

To Ломброзо: Vеня интересует именно встроить его(не обязательно комбобокс например RxSpinEdit) туда, чтоб не занимать отслеживанием куда ткнули мышку.

To Спрашивающий_: Не совсем подходит, картинку мне вставить нужно не саму по себе, а в виде чекбокса точнее
RxSwitch.

Всем спасибо за ответы.


 
ZEE ©   (2003-10-30 13:35) [4]


> phan (30.10.03 13:22) [3]
> To Ломброзо: Vеня интересует именно встроить его(не обязательно
> комбобокс например RxSpinEdit) туда, чтоб не занимать отслеживанием
> куда ткнули мышку.

а что значит встроить - это ж как раз создать и показать в нужном месте - и куда мышку ткнули (всмысле какая ячейка выделена) все-таки понадобится


> To Спрашивающий_: Не совсем подходит, картинку мне вставить
> нужно не саму по себе, а в виде чекбокса точнее
> RxSwitch.

а чекнутая/нечекнутая картинка не проще чем еще один компонент навешивать...


 
phan   (2003-10-30 14:09) [5]

>а что значит встроить - это ж как раз создать и показать в >нужном месте - и куда мышку ткнули (всмысле какая ячейка >выделена) все-таки понадобится
Хочется создать что-то вроде метода InsertRow
в котором несколько Create нужных мне компонент
и что они там и жили и не отслеживать преремещение/изменение размеров окна. Я просто слышал что непример в VC++ StringGrid-а
вообще нет, а он создается из едитов, вот я и хочу вместо этих едитов вставить другие компоненты.


 
ZEE ©   (2003-10-30 15:01) [6]


> phan (30.10.03 14:09) [5]
> Я просто слышал что непример в VC++ StringGrid-а
> вообще нет, а он создается из едитов, вот я и хочу вместо
> этих едитов вставить другие компоненты.

так кто тебе мешает сделать свой грид по аналогии с ВЦ++ и вставляй туда вместо едитов то что надо...


 
pasha_golub ©   (2003-10-30 15:08) [7]

Для начала посмотри как реализуется "вставка" InplaceEditor, то есть стандартного окна редактирования текста в гриде. Не все так просто, прийдется чуток ручками


 
phan   (2003-10-31 17:23) [8]

To pasha_golub:
Ручками можно, вот только по подробнее можно.
Заранее спасибо.


 
phan   (2003-10-31 17:27) [9]

Re: To pasha_golub:
Ручками можно, вот только по подробнее можно.
Заранее спасибо.

Как я понял под ручками подразумевалось пере определить
function CreateEditor: TInplaceEdit; virtual;


 
phan   (2003-10-31 17:28) [10]

Re: To pasha_golub:
Ручками можно, вот только по подробнее можно.
Заранее спасибо.

Как я понял под ручками подразумевалось пере определить
function CreateEditor: TInplaceEdit; virtual;


 
pasha_golub ©   (2003-10-31 18:08) [11]

Можно и переопределить, можно добавить свое. Советовал взглянуть на взаемодействие ИнпласеЭдитора и Грида, на основе этого потом ручками очень просто.



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

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
14-42059
Uriel
2003-10-17 15:59
2003.11.13
Помогите придумать тему диплома (сетевое программирование)


1-41445
han-bratan
2003-11-04 11:00
2003.11.13
Транскрипция


14-42077
REA
2003-10-23 14:42
2003.11.13
Кстати о Матрице


1-41597
Симба
2003-10-27 00:16
2003.11.13
Электронная копия книжки


1-41672
Islander
2003-10-24 09:52
2003.11.13
Как узнать текущую кодовую страницу винды и текущую локаль?