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

Вниз

Вставка визуального коспонента в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
3-40797
Tornado
2003-10-22 15:08
2003.11.13
Проверка наличия таблицы


1-41322
kex86
2003-10-31 08:23
2003.11.13
Как сообщить всем приложениям об изменении списка запущенных проц


6-41857
malamba
2003-09-11 10:00
2003.11.13
а как создать свою страницу в Delphi


14-41882
Ysaev Grigoriy
2003-10-21 16:47
2003.11.13
Програмирование как искусство.


1-41211
Ivolg
2003-11-01 19:05
2003.11.13
Listbox строчки!!!





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