Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 327

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, эксперты! Как можно сделать так, что б при нажатии на баттон сворачивалась программа? И еще одно - как можно сделать так, что бы, когда убираешь полностью "шапку" с окна проэкта, можно было перемещать окно, так же, как это было возможно, если по "шапке" зажать ЛКМ? (На заднем плане компонент Image) Большое спасибо!

Хитманчан Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Хитманчан (статус: Посетитель)
Вопрос отправлен: 21 января 2009, 14:18
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Николай Рубан

Здравствуйте, Хитманчан!

Для сворачивания формы в обработчик нажатия кнопки достаточно вставить:

 Form1.WindowState:=wsMinimized;

А чтобы заставить перемещаться форму, в обработчик MouseMove объекта TImage впишите такие строки:
procedure ...MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
const
  SC_DragMove = $F012; 
begin
  ReleaseCapture;
  Self.Perform(WM_SysCommand, SC_DragMove, 0);
end;

Good Luck!

Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 21 января 2009, 14:40
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 5; последнее сообщение — 21 января 2009, 15:32; участников в обсуждении: 4.
Хитманчан

Хитманчан (статус: Посетитель), 21 января 2009, 14:48 [#1]:

Николай Рубан, большое спасибо! А можно, что бы оно окно сворачивало как обычно - на панель задач?
Amidamaru

Amidamaru (статус: 4-ый класс), 21 января 2009, 15:15 [#2]:

сворачивать нужно вот так:

PostMessage(Application.handle,WM_SYSCOMMAND,SC_MINIMIZE,0);

Вместо Application.handle можно handle формы

И код, который указан для перетаскиания, пооему, должен быть в OnMouseDown с условием
if Button=mbLeft then
begin
...
end;
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
Ученый

Ученый (статус: 8-ой класс), 21 января 2009, 15:26 [#3]:

Чтобы свернуть "на панель задач" достаточно прописать Application.Minimize;
Хитманчан

Хитманчан (статус: Посетитель), 21 января 2009, 15:27 [#4]:

Dart Mashiro, Ученый, большое спасибо)
Николай Рубан

Николай Рубан (статус: 10-ый класс), 21 января 2009, 15:32 [#5]:

Для минимизации есть еще один вариант:
SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 5 апреля 2020, 07:05
Выполнено за 0.02 сек.
Рейтинг@Mail.ru