![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как двигать окно программы нажав на ней мышью? [D7, Win2k, WinXP]
Hromosom © (2005-05-26 19:56:00)Пишу программу, хочу узнать как сделать чтоб можно было двигать окно программы нажав на нем мышкой и когда отпустишь чтоб перестало.
Спасибо вам люди добрые за ваши ответы.
Virgo_Style (2005-05-27 11:24:00) [1]>>Я учусь только по справке в Delphi
А что ты тогда здесьделаешь?
Slider007 (2005-05-27 10:49:00) [2]Hromosom © (27.05.05 10:45) [13]
Во как ..
Hromosom (2005-05-27 10:45:00) [3]Удалено модератором
Примечание: Может лучше ты пойдешь туда?
Nes (2005-05-26 22:18:00) [4]А дык, забыл...+"API:SendMessage и PostMessage"
Nes (2005-05-26 22:16:00) [5]значт...открываем учебник по Delphi...и читаем "Что такое сообщения,Типы сообщений,Система сообщение Delphi ,Обработка сообщений" и ещё кучу тем,тогда всё поймешь...кстати...второй способ ,по-моему,ничем не легче...
Hromosom (2005-05-26 21:30:00) [6]Potomu kak ja ego ne ponal a pontu mne ot etogo koda togda ja nau4itsja ho4u vot v 4em prikol a vtoroi sposob bil bi mne poleznee jab 4go mozet es4e gde zajuzat smog.
Smisl v tom 4tob poslat komandu kak budto ti nazal na move iz menu progi.
alex-drob (2005-05-26 21:19:00) [7]releasecapture;
perform(wm_syscommand,$f012,0)
Yanis (2005-05-26 21:06:00) [8]
> Slihal pro sposob vibrat iz menu s pomos4ju SendMessage() kak eto
> sdelat ne ponal, mozet objasnite?
Тебе привели вполне хороший код. Зачем тебе ещё мучения?
Hromosom (2005-05-26 20:36:00) [9]Rabotat rabotaet tolko ja ne ponal kak...
Slihal pro sposob vibrat iz menu s pomos4ju SendMessage() kak eto sdelat ne ponal, mozet objasnite?
kami (2005-05-26 20:23:00) [10]<offtop>
[4] Nes ©
Опередил :)
</offtop>
kami (2005-05-26 20:21:00) [11]ну, да, не посмотрел на код - сделал ctrl-c ctrl-v
Нужно всего лишь добавить в uses нужной формы модуль StdCtrls
и заменить wm_NCCHitTest на wm_NCHitTest
Только что проверил - все работает (правда, D5). И не надо ничего добавлять.
Nes (2005-05-26 20:17:00) [12]Дык, ркшил зайти сюды и вот на:
Переписываю kami:
В секцию Private Declarations дописываем объявление процедуры:
procedure WMNChitTest(var M:TWMNCHitTest); message WM_NCHitTest;
и саму процедуру
procedure Tform1.WMNCHitTest(var M:TWMNCHitTest);
begin
inherited;
if M.Result=htClient then M.Result:=htCaption;
end;
Hromosom (2005-05-26 20:05:00) [13]А что какой фкг где?
А у мена нету модуля StdCrtls и желания инсталить всякую бякй тоже нет.
Как сделать просто через дельфи?
kami (2005-05-26 20:02:00) [14]Забыл добавить - взято с Delphi Russian Knowledge Base
kami (2005-05-26 20:01:00) [15]А в FAQ посмотреть - не судьба, конечно :)
uses
SysUtils, WinTypes, WinProcs, Messages,
Classes, Graphics, Controls, Forms, Dialogs, StdCrtls;
type
TForm1 = class(TForm)
private
procedure WMNCHitTest(var M: TWMNCHitTest);
message wm_NCCHitTest;
end;
------------------------------------
procedure TForm1. WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;
end.