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

Вниз

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

 
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.


Удачи.



Страницы: 1 вся ветка

Текущий архив: 2002.04.29;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.006 c
1-94486
Up
2002-04-16 15:15
2002.04.29
Custom Menu


3-94259
kopachev
2002-04-07 15:03
2002.04.29
Отчет в fast report


1-94385
inko
2002-04-17 15:41
2002.04.29
Выгрузка из памяти DLL файлов.


3-94312
B_A_V
2002-04-09 08:33
2002.04.29
Мужики, помогите разобраться c create view .


1-94441
Vasya_dvc
2002-04-12 23:27
2002.04.29
Turbo Pascal + Delphi =?





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