Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
ВнизКак сделать? Найти похожие ветки
← →
[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 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c