Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Контекстное меню приложения на панели задач 
:(
    Опции темы
avm2
Дата 16.7.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



Подскажите, пожалуйста, почему в MDI-приложении в контекстное меню у кнопки приложения на панели задач нет пунктов "Переместить", "Размер", "Развернуть", а в контекстном меню главной формы (если щёлкнуть по иконке) они есть?
PM MAIL   Вверх
dvamaster
Дата 21.7.2009, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: 3
Всего: 10



так как используется DefMDIChildProc перенаправляется все подобные мессаги в MDI фрейм, фрейм отправляет эти сообщения в парент, а парент есть главное окно


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
v258
Дата 18.2.2015, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: 2
Всего: 2



подниму, пожалуй, тему

Как можно отловить нажатие пунктов Свернуть и Закрыть контекстного меню кнопки приложения на панели задач? Или как заменить это меню системным контекстным меню приложения (это которое по значку в левой части заголовка формы)?
PM MAIL WWW   Вверх
Poseidon
Дата 18.2.2015, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(v258 @  18.2.2015,  10:08 Найти цитируемый пост)
Как можно отловить нажатие пунктов Свернуть и Закрыть контекстного меню кнопки приложения на панели задач?


Код

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
  private
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
  case Msg.CmdType of
    SC_MINIMIZE:
      ShowMessage('Свернуть');
    SC_CLOSE:
      ShowMessage('Закрыть');
  end;

  inherited;
end;

end.




--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
v258
Дата 18.2.2015, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: 2
Всего: 2



Poseidon, это работает с системным меню, с кнопками закрыть/свернуть в заголовке формы, но именно нажатие пунктов  меню кнопки на панели задач не отлавливается. Код практически такой же
Код

procedure TM_Form.WMSysCommand(var Msg: TWMSysCommand);
begin
  case Msg.CmdType of
    SC_MINIMIZE: HideRestoreForm(False);
    SC_CLOSE: ExitButClick(Self);
    else
      inherited;
    end;
end;


Это сообщение отредактировал(а) v258 - 18.2.2015, 12:18
PM MAIL WWW   Вверх
Poseidon
Дата 18.2.2015, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Все там отлавливается. Проверь мой код на тестовом проекте. Конкретно в твоем случае подозреваю, что что-то не так работает в HideRestoreForm и ExitButClick.

Это сообщение отредактировал(а) Poseidon - 18.2.2015, 14:51


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
v258
Дата 18.2.2015, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: 2
Всего: 2



Цитата(Poseidon @  18.2.2015,  14:48 Найти цитируемый пост)
Конкретно в твоем случае подозреваю, что что-то не так работает в HideRestoreForm и ExitButClick.


нет, не работает, ни мой, ни твой коды, даже брекпойнт не отрабатывает.

если использовать системное меню, то все работает, а если меню кнопки в панели задач - нифига, пролетает мимо  smile

Добавлено через 3 минуты и 36 секунд
на тестовом приложении тоже не работает, видимо, другие сообщения отлавливать нужно
PM MAIL WWW   Вверх
Poseidon
Дата 18.2.2015, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Windows7 ?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
v258
Дата 18.2.2015, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: 2
Всего: 2



нет, ХР
PM MAIL WWW   Вверх
v258
Дата 21.2.2015, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 19.7.2005
Где: Краснодарский кра й

Репутация: 2
Всего: 2



в семерке, кстати, по shift +ПКМ на кнопке в панели задач то же самое - никакой реакции
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1209 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.