Форум: "Начинающим";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];
ВнизПомогите исправить ошибку! -Координаты Х, У для события DblClick Найти похожие ветки
← →
N_SSS (2009-01-03 20:33) [0]Как правильно инициализировать переменные 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;
← →
KilkennyCat © (2009-01-03 20:40) [1]
> Как правильно инициализировать переменные X, Y: integer
> ?
присвоить им значения типа integer оператором присваивания :=
← →
N_SSS (2009-01-03 20:46) [2]
> присвоить им значения типа integer оператором присваивания
> :=
в таком случае они всегда будут равны присвоенным значениям внутри процедуры! Хоть у события DblClick и нет переменных X, Y: integer (координат), но каким-то образом X и Y присваивается значение!?
← →
sniknik © (2009-01-03 21:12) [3]
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;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c