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

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

Помогите исправить ошибку! -Координаты Х, У для события DblClick


N_SSS ©   (2009-01-03 20:33:00) 

Как правильно инициализировать переменные X, Y: integer ?
procedure TForm1.DBGridEh1DblClick(Sender: TObject);
var X, Y: integer;
   SGC: TGridCoord;
begin //сначала исключаем клик по заголовку
if ScreenToClient(Mouse.CursorPos).Y >
  DBGridEh1.Top + MyDBGrid(DBGridEh1).DefaultRowHeight
then begin
 SGC := DBGridEh1.MouseCoord(X, Y);
 if (SGC.X > 0) and (SGC.Y > 0)
  then ShowMessage(ADOQuery1.Fields[0].AsString)
  else ShowMessage('Кликнули в пустом месте грида');
end;
end;


sniknik   (2009-01-03 21:12:00) [1]

procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
 Point    : TPoint;
 GridCoord: TGridCoord;
 Indicator, Titles: integer;
begin
 with TDBGrid(Sender) do begin
   Point    := ScreenToClient(Mouse.CursorPos);
   GridCoord:= MouseCoord(Point.X, Point.Y);
   Indicator:= integer(dgIndicator in Options);
   Titles   := integer(dgTitles in Options);
   if (GridCoord.X < Indicator) or (GridCoord.Y < Titles) then Exit;

   ShowMessage(DataSource.DataSet.Fields[GridCoord.X-Indicator].AsString)
 end;  
end;


N_SSS   (2009-01-03 20:46:00) [2]


> присвоить им значения типа integer оператором присваивания
> :=

в таком случае они всегда будут равны присвоенным значениям внутри процедуры! Хоть у события DblClick и нет переменных X, Y: integer (координат), но каким-то образом X и Y присваивается значение!?


KilkennyCat   (2009-01-03 20:40:00) [3]


> Как правильно инициализировать переменные X, Y: integer
> ?

присвоить им значения типа integer оператором присваивания :=


Наверх

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