Главная страница
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.017 c
1-69323
Nikolai_S
2002-11-12 12:00
2002.11.21
Вывод на экран модального окна сразу после открытия главного окна


3-69150
orlando
2002-10-31 12:41
2002.11.21
TSession


14-69534
^Sanya
2002-11-02 19:19
2002.11.21
Кттонибудь читал М.Кенту


1-69318
AlexDBases
2002-11-12 16:53
2002.11.21
Запуск приложения с параметрами


14-69490
vic_vm
2002-10-31 14:56
2002.11.21
Сайты о погоде над Европой