Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-69230
velk
2002-11-11 15:17
2002.11.21
Подскажите пожалуйста проблема с ошибкой EIntfCastError...


1-69395
micha
2002-11-10 18:46
2002.11.21
Написание дизайнера


14-69525
Николай Быков
2002-11-03 05:54
2002.11.21
Что выбрать?


3-69194
and1
2002-10-29 16:05
2002.11.21
oracle


1-69278
Azbul
2002-11-11 14:45
2002.11.21
народ помогине с blockread





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский