Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Отображение содержимого окна при перетаскивании 


kioto   (2002-01-27 10:59) [0]

Что бы ТОЛЬКО для МОЕГО окна (формы) выполнялось то, что для всех окон : Cвойства:Экран -> Эффекты -> Отображать содержимое окна при перетаскивании (включено), вне зависимости, как эта опция стоит у пользователя в системе.

Подскажите, как правильнее это сделать (желательно на мыло - kioto@rambler.ru)



Almaz   (2002-02-01 00:36) [1]

Вот так:

unit move;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
Capture: HWND;
InMove: Boolean;
MouseOffset: TPoint;
procedure WMNCLButtonDown(var Message: TWMNCMouseMove); message WM_NCLBUTTONDOWN;
procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
procedure WMLButtonUp(var Message: TMessage); message WM_LBUTTONUP;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMMouseMove(var Message: TWMMouseMove);
var
MousePt: TPoint;
begin
if InMove then
begin
GetCursorPos(MousePt);
MousePt.x := MousePt.x - MouseOffset.x;
MousePt.y := MousePt.y - MouseOffset.y;
Left := MousePt.x;
Top := MousePt.y;
end else inherited;
end;

procedure TForm1.WMNCLButtonDown(var Message: TWMNCMouseMove);
begin
if Message.HitTest = HTCAPTION then
begin
Capture := GetCapture;
SetCapture(Handle);
GetCursorPos(MouseOffset);
MouseOffset.x := MouseOffset.x - Left;
MouseOffset.y := MouseOffset.y - Top;
InMove := True;
end else inherited;
end;

procedure TForm1.WMLButtonUp(var Message: TMessage);
begin
if InMove then
begin
if Capture = 0 then ReleaseCapture else SetCapture(Capture);
InMove := False;
end else inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
InMove := False;
end;

end.


Удачи.




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх







Память: 0.74 MB
Время: 0.026 c
1-94382           Yuraz                 2002-04-15 15:26  2002.04.29  
2 вопроса, 1) как проверить на компе есть ли ADO библ.


3-94333           Beer                  2002-04-09 17:05  2002.04.29  
select из строковой переменной.


4-94646           Romul                 2002-02-21 15:34  2002.04.29  
Проблема с handle s у дочерних элементов


1-94389           masik                 2002-04-17 13:56  2002.04.29  
HTML Editor


3-94263           Rail                  2002-04-07 16:05  2002.04.29  
Как показать последнюю ошибу при работе с БД через BDE