TTabControl (Drag and Drop) don't work
Original Reporter info from Mantis: hnb
-
Reporter name: Maciej Izak
Original Reporter info from Mantis: hnb
- Reporter name: Maciej Izak
Description:
This code don't work in Lazarus (in Delphi it is ok):
// Source http://www.delphipraxis.net/590633-post.html#684420
procedure TDemoForm.TabControlDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
with Sender as TTabControl do
Accept := (IndexOfTabAt(X, Y) <> TabIndex);
end;
procedure TDemoForm.TabControlDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
index: Integer;
begin
if Sender = Source then
with Sender as TTAbControl do
begin
index := IndexOfTabAt(X, Y);
Tabs.Exchange(TabIndex, index);
TabIndex := index;
end;
end;
procedure TDemoForm.TabControlMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p: TPoint;
begin
with Sender as TTabControl, p do
begin
p := ScreenToClient(Mouse.CursorPos);
if IndexOfTabAt(X, Y) > -1 then
BeginDrag(False);
end;
end;
Mantis conversion info:
- Mantis ID: 24022
- Platform: Windows 7
- Version: 1.1 (SVN)
- Fixed in version: 1.7 (SVN)
- Fixed in revision: r53981 (#0c438b98)