Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.21;
Скачать: CL | DM;

Вниз

Окна   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
3-69164
mikl2002
2002-10-31 14:32
2002.11.21
Forced writes в IB6


3-69187
lejik
2002-11-01 09:29
2002.11.21
Хитрый SQL


6-69481
Pelot
2002-07-16 13:57
2002.11.21
Удаленное Выключение под ХР


4-69614
АндрейС
2002-10-04 14:16
2002.11.21
Может кто знает?


4-69627
vidiv
2002-10-09 06:26
2002.11.21
как получить иконку ярлыка без стрелки