Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизОкна Найти похожие ветки
← →
AndreyAG (2002-11-10 09:51) [0]Уважаемые Мастера ПОМОГИТЕ ! Как перемещать окна ,если нет системой области окна (свойство bordertyle:=bsNone) ?
← →
Song (2002-11-10 09:56) [1]WM_NCHITTEST
SC_DRAGMOVE
вручную обрабатывая onMouseDown/onMouseUp
и ещё куча способов можно придумать
← →
Николай Быков (2002-11-10 10:04) [2]Я всегда делаю так:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
XPos,YPos:integer;
MDown:boolean;
implementation
{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MDown:=true;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MDown:=false;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if not MDown then
begin
XPos:=X;
YPos:=Y;
end
else
begin
Left:=X-XPos+Left;
Top:=Y-YPos+Top;
end;
end;
end.
← →
AndreyAG (2002-11-10 10:07) [3]А поподробнее?
← →
AndreyAG (2002-11-10 10:09) [4]Николай Быков, спасибо !
← →
Nicko (2002-11-10 10:12) [5]
procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture; perform(WM_SysCommand, SC_DragMove, 0);
end;
Вместо TForm1 поставь компонент, которым будешь перемещать.
P.S. Нашел в FAQ!
← →
_Nicola_ (2002-11-10 10:34) [6]Совет Nicko есть в куче FAQов. Так можно перемещать не только форму, но другие компоненты на форме.
← →
Николай Быков (2002-11-10 10:36) [7]
> _Nicola_ (10.11.02 10:34)
Моим способом можно также перемещать все компоненты, которые умеют обрабатывать события OnMouseDown OnMouseUp OnMouseMove
← →
Alex44 (2002-11-10 11:59) [8]To Николай Быков
IMHO, standartnyj sposob zamechatelen tem, chto on (1) automaticheskij, i (2) prinimaet vo vnimanie ustanovki systemy (typa opaque move).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c