Главная страница
    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.037 c
1-41345
ghost_by
2003-11-03 16:52
2003.11.13
Встраивание компонентов в TStringGrid


1-41621
Senti
2003-10-25 20:23
2003.11.13
проблема с отображением Gif файлов


1-41288
Bless
2003-10-29 09:51
2003.11.13
Как узнать, сколько памяти занимает класс?


1-41389
GIL
2003-10-30 10:43
2003.11.13
Необязательный параметр в процедуре или функции


1-41729
Saturn
2003-11-03 15:45
2003.11.13
Хитрый вопрос. :)





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