Вниз
Скачать: 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.025 c
14-1116924302
Просто юзер
2005-05-24 12:45
2005.06.14
Помогите пожалуйста скромному юзеру, а то мозги уже кипят.


9-1110621860
Andrewk88
2005-03-12 13:04
2005.06.14
GLScene


1-1117532553
seg
2005-05-31 13:42
2005.06.14
Как определить координаты мыши


14-1117095731
Nic87
2005-05-26 12:22
2005.06.14
Вопрос модераьорам


3-1115383404
Kirill
2005-05-06 16:43
2005.06.14
Halcyon и работа с индексом CDX




   Наверх