Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Edit и ComboBox в DBGrid [D6, D7, Win2k, WinXP]


blackcrazzy ©   (2006-05-31 15:57:00) 

Всем, доброго времени суток. Такой вопрос: надо чтобы при клике по ячейке в DBGrid появлялся Edit или ComboBox. Как их высветить и передать из них данные знаю, не знаю как определить положение и размер выделенной ячейки, чтобы присвоить их этим элементам(Edit и ComboBox).


гостьььь   (2006-06-19 15:38:00) [1]

И ещё так сказать до кучи, что бы без вопросов

http://www.megalib.com/books/478/1561.htm


гостьььь   (2006-06-19 14:54:00) [2]

http://articles.org.ru/myfaq/faq0201e.php


blackcrazzy   (2006-06-06 09:18:00) [3]

Похоже, никто не подскажет. Чтож тему можо закрывать, ничего полезного по данному вопросу в этой ветке нет. StringGrid к теме не относится.


blackcrazzy   (2006-06-01 07:48:00) [4]

Он ещё Col и Row не знает, а эти то параметры у DBGrid есть.


tesseract   (2006-05-31 23:17:00) [5]


> Приводит к:Undeclared identifier: 'CellRect' и т.д.Все модули
> подключены к проекту.MainGrid: TDBGrid

У меня StringGrid. У DbGrid немного другие параметры, если не ошибаюсь.


blackcrazzy   (2006-05-31 22:30:00) [6]


> tesseract ©


procedure TMainForm.MainGridCellClick(Column: TColumn);
begin
 UslugiBox.Left:=MainGrid.CellRect(MainGrid.Col,MainGrid.Row).Left;
 UslugiBox.Top:=MainGrid.CellRect(MainGrid.Col,MainGrid.Row).Top;
end;

Приводит к:
Undeclared identifier: 'CellRect' и т.д.
Все модули подключены к проекту.
MainGrid: TDBGrid


blackcrazzy   (2006-05-31 18:40:00) [7]


> tesseract ©   (31.05.06 17:57) [11]

Спасибо. Нужен был как раз код для получения размеров и положения ячейки имеющей в данный момент фокус. Попробую, завтра напишу о результатах.


tesseract   (2006-05-31 17:59:00) [8]

Вставлять и в onClick и в OnkeyDown по VK_RETURN;

В обсчем помучаешься ещё.


tesseract   (2006-05-31 17:57:00) [9]

Пример с combobox :

function GetCoord(StrGrid:TStringGrid):contrlREc;
begin
Result.Height:=StrGrid.RowHeights[StrGrid.Row];
Result.Width:=StrGrid.ColWidths[StrGrid.Col];
Result.Top:=StrGrid.CellRect(StrGrid.Col,StrGrid.Row).Top;
Result.Left:=StrGrid.CellRect(StrGrid.Col,StrGrid.Row).Left;
end;

case sgGrid.Col of

 1:begin
 with cbBox do begin
  Visible:=true;
  temp:=GetCoord(sgTovar);
  Width:=temp.Width+1;
  Height:=temp.Height+1;
  Left:=Temp.Left+1;
  Top:=Temp.Top+sgGrid.Top+1;
 end;
 exit;
end;


0_o   (2006-05-31 17:47:00) [10]

Юзай сторонние компоненты, к примеру хороший пакет есть у Developer Express,
там компонент dxDBGrid - великолепная весч!


Игорь Шевченко   (2006-05-31 17:31:00) [11]

Amoeba ©   (31.05.06 16:17) [3]


> Не смеши!


В ряде случаев специализированный элемент управления в гриде действительно удобнее. Дядьки из Developer Express не зря свой хлеб едят, верно ?


Desdechado   (2006-05-31 16:57:00) [12]

самоделкиным посвящается....

а что, по-твоему, представляют из себя клетки в гриде, когда ты в них тыкаешь?


@Lex   (2006-05-31 16:49:00) [13]

см. в сторону DBGrid1.MouseCoord(...);


blackcrazzy   (2006-05-31 16:44:00) [14]

геморроя крайне мало, все описывается максимум в 4-8 строк.делается за 5-10 минут.


Amoeba   (2006-05-31 16:33:00) [15]


> blackcrazzy ©   (31.05.06 16:28) [4]
>
> > Amoeba ©   (31.05.06 16:17) [3]
>
>
> > Не смеши!
>
> А по существу ответить слабо?
> Читал как это сделать пару дней назад, но забыл где, по-
> моему, на этом сайте.

Зачем тебе нужен изрядный геморой и трата кучи времени ради более чем сомнительной пользы?


blackcrazzy   (2006-05-31 16:28:00) [16]


> Amoeba ©   (31.05.06 16:17) [3]


> Не смеши!

А по существу ответить слабо?
Читал как это сделать пару дней назад, но забыл где, по-моему, на этом сайте.


Amoeba   (2006-05-31 16:17:00) [17]


> blackcrazzy ©   (31.05.06 16:10) [2]
> надо чтобы Edit или ComboBox встали вместо ячейки. И глазу
> приятней и пользоватлю удобней

Не смеши!


blackcrazzy   (2006-05-31 16:10:00) [18]

надо чтобы Edit или ComboBox встали вместо ячейки. И глазу приятней и пользоватлю удобней


Desdechado   (2006-05-31 16:01:00) [19]

а зачем?!
там же это все есть
эдит умолчательный, а комбо либо из Lookup-поля, либо из PickList'а


Наверх

Титульная страница Поиск, карта сайта Написать письмо