Главная страница
    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.011 c
3-69127
Shatun
2002-11-01 09:40
2002.11.21
Помогите с подставными полями d DBGrid.


14-69545
TTCustomDelphiMaster
2002-11-01 18:10
2002.11.21
Безопасный код :)


3-69139
Gaber
2002-10-30 16:53
2002.11.21
Запрос SQL на изменение значения поля


3-69130
Leshik
2002-10-30 09:31
2002.11.21
Как соединить несколько баз по общему полю?


14-69535
Феликс
2002-11-03 02:42
2002.11.21
Пардон, но вот нормальная версия программы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский