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

Как двигать окно программы нажав на ней мышью?   Найти похожие ветки 

← →
Hromosom   (2005-05-26 19:56) [0]

Пишу программу, хочу узнать как сделать чтоб можно было двигать окно программы нажав на нем мышкой и когда отпустишь чтоб перестало.

Спасибо вам люди добрые за ваши ответы.


← →
kami ©   (2005-05-26 20:01) [1]

А в 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.


← →
kami ©   (2005-05-26 20:02) [2]

Забыл добавить - взято с Delphi Russian Knowledge Base


← →
Hromosom ©   (2005-05-26 20:05) [3]

А что какой фкг где?
А у мена нету модуля StdCrtls и желания инсталить всякую бякй тоже нет.
Как сделать просто через дельфи?


← →
Nes ©   (2005-05-26 20:17) [4]

Дык, ркшил зайти сюды и вот на:
Переписываю 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;


← →
kami ©   (2005-05-26 20:21) [5]

ну, да, не посмотрел на код - сделал ctrl-c ctrl-v
Нужно всего лишь добавить в uses нужной формы модуль StdCtrls
и заменить wm_NCCHitTest на wm_NCHitTest

Только что проверил - все работает (правда, D5). И не надо ничего добавлять.


← →
kami ©   (2005-05-26 20:23) [6]

<offtop>
[4] Nes ©
Опередил :)
</offtop>


← →
Hromosom ©   (2005-05-26 20:36) [7]

Rabotat rabotaet tolko ja ne ponal kak...

Slihal pro sposob vibrat iz menu s pomos4ju SendMessage() kak eto sdelat ne ponal, mozet objasnite?


← →
Yanis ©   (2005-05-26 21:06) [8]


> Slihal pro sposob vibrat iz menu s pomos4ju SendMessage() kak eto
> sdelat ne ponal, mozet objasnite?

Тебе привели вполне хороший код. Зачем тебе ещё мучения?


← →
alex-drob   (2005-05-26 21:19) [9]

releasecapture;
perform(wm_syscommand,$f012,0)


← →
Hromosom ©   (2005-05-26 21:30) [10]

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.


← →
Nes ©   (2005-05-26 22:16) [11]

значт...открываем учебник по Delphi...и читаем "Что такое сообщения,Типы сообщений,Система сообщение Delphi ,Обработка сообщений" и  ещё кучу тем,тогда всё поймешь...кстати...второй способ ,по-моему,ничем не легче...


← →
Nes ©   (2005-05-26 22:18) [12]

А дык, забыл...+"API:SendMessage и PostMessage"


← →
Hromosom ©   (2005-05-27 10:45) [13]

Удалено модератором
Примечание: Может лучше ты пойдешь туда?


← →
Slider007 ©   (2005-05-27 10:49) [14]

Hromosom ©   (27.05.05 10:45) [13]
Во как ..


← →
Virgo_Style ©   (2005-05-27 11:24) [15]

>>Я учусь только по справке в Delphi

А что ты тогда здесь делаешь?



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

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



Память: 0.48 MB
Время: 0.024 c
8-1109602992
Expl
2005-02-28 18:03
2005.06.14
Работа с TPaintBox...


11-1099342586
Yasha
2004-11-01 23:56
2005.06.14
SystemDcu Replacement For Delphi 7 system.pas not found


1-1117540421
makey
2005-05-31 15:53
2005.06.14
запись в текстовый файл длинных строк


6-1111926594
X-Disa
2005-03-27 16:29
2005.06.14
TIdHttp - подвисает


4-1114073734
EthernalWonderer
2005-04-21 12:55
2005.06.14
Получение системного формата даты




   Наверх