Вниз
Скачать: CL | DM;

Как сделать?   Найти похожие ветки 

← →
[BAD]Angel ©   (2002-11-18 13:42) [0]

Уважаемые мастера, подскажите ПЛЗ, можно ли реализовать следующее:

есть форма, которую можно перетаскивать по экрану непосредственно за саму форму, не за заголовок окна.


procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
if ssLeft in Shift then begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;
end;


Как сделать так, чтобы, когда форма касалась одной из своих сторон края экрана, она бы прилипала к ней. (Эффект TaskBar)

Если можно кодом!!!

Буду очень признателен!!!


← →
Skier ©   (2002-11-18 13:45) [1]

>[BAD]Angel
Лови сообщение WM_MOVING


← →
[BAD]Angel ©   (2002-11-18 13:47) [2]

и что дальше? конкретнее ПЛЗ! :-)


← →
Axis_of_Evil ©   (2002-11-18 13:53) [3]

procedure WMNCHitTest(var msg: TMsg); message WM_NCHitTest;

procedure TForm1.WMNCHitTest(var msg: TMsg);
begin
if Result = ****** then
Result := hc_Caption;
end;


****** - hc_форма, посмотри в help,
вообще помучай hc_*


← →
[BAD]Angel ©   (2002-11-18 14:02) [4]

Axis_of_Evil - а что эта процедура делает?


← →
[BAD]Angel ©   (2002-11-18 14:08) [5]

ну неужели никто не может написать код? :-(


← →
Axis_of_Evil ©   (2002-11-18 14:13) [6]

Делает то, что при клике по форме(серой поверхности) и попытке
ее таскания как за Caption она таскается.

hc_**** подлежит выяснеиню, просто я не помгю эту константу
(hc_window или чего-то) ну посмотри ты в help.(win32.hlp)


← →
[BAD]Angel ©   (2002-11-18 14:18) [7]

procedure TForm1.MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
if ssLeft in Shift then begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;
end;


Вот процедура таскания формы за серую область, а мне нужен алгоритм (код) как сделать прилипания формы к краю экрана!!!!


← →
[BAD]Angel ©   (2002-11-18 14:34) [8]

P.S. Нужен эффект WinAmp"a (прилипание окна к краю экрана)...


← →
Axis_of_Evil ©   (2002-11-18 14:37) [9]

Навскидку: Form1.Align, если приблизились к краю
(if Form1.Left < 10)


← →
[BAD]Angel ©   (2002-11-18 14:56) [10]

с этим есть некоторые трудности... есть ли бругой способ?



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
1-93004
да
2002-11-18 20:23
2002.11.28
Как перетащить из internet explorer ссылку в мою прогу?


3-92855
MaxM
2002-11-05 23:04
2002.11.28
---|Ветка была без названия|---


7-93277
dens
2002-09-26 16:43
2002.11.28
Чтение данных из COM-порта


1-93139
Live_Aus_Berlin
2002-11-18 11:17
2002.11.28
Есть прога, которая строит графики(без глюков)


6-93171
Rule
2002-10-03 22:29
2002.11.28
Помогите пожалуйста опять, горит проект !!!!!!!!!!!!!!!!!!!!!!!!!




   Наверх