![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте, нужна помощь, мне необходимо сделать так чтоб перетаскивать из ячейки DBGrid'а в Edit, мб это тупо но я не могу допереть
Заранее благодарен ![]() Последний раз редактировалось mifka72, 14.12.2009 в 08:37. |
|
#2
|
|||
|
|||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Edit1: TEdit;
procedure StringGrid1EndDrag(Sender, Target: TObject; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure FormDockOver(Sender: TObject; Source: TDragDockObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
procedure StringGrid1MouseActivate(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
private
{ Private declarations }
public
{ Public declarations }
i, j : integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i, j : byte;
begin
for i := 1 to 3 do
for j := 1 to 3 do
StringGrid1.Cells[i, j]:=IntToStr(i*j);
end;
procedure TForm1.FormDockOver(Sender: TObject; Source: TDragDockObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept:=True;
end;
procedure TForm1.StringGrid1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
Edit1.Text:=StringGrid1.Cells[J, I];
end;
procedure TForm1.StringGrid1MouseActivate(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y, HitTest: Integer;
var MouseActivate: TMouseActivate);
begin
StringGrid1.MouseToCell(X, Y, J, I);
{Showmessage(StringGrid1.Cells[J, I]);}
end;
end.
Только StringGrid на DBGrid поменяйте, должно работать. Накатал на скорую руку. С уважением |
|
#3
|
|||
|
|||
|
nedd cпаcибо за код.
В DBGrid'е не работают как надо эвенты "OnСellСlick" и "OnMouseDown", но я нашёл отлично подходящий и более функциональный компонент на основе DBGrid'а. Безотказно работает "OnMouseDown" c поcледующим BeginDrag. Вообщем получилось всё компактно и красиво, думаю тема на этом закрыта! Последний раз редактировалось mifka72, 15.12.2009 в 13:30. |