Типы программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Как принять сообщение WinRAR c StdErr
Место на диске как способ защиты программы, и шифрование екзешника или упаковка.
Получить активный HWND, Получить активный HWND
наболевшая тема alt+tab
Отклучить установленное модемное соединение, Отклучить установленное модемное соедине
com1, Порт ком1 - освободить
Сортировка списка окон., Немогу!
Проконсультируйте..., запуск dll
comport
Как получить время uptime?
обработка исключения в TDataSet
Пара вопросов, Two questions
Эмуляция кнопок на клаве
WordWrap в TListBox, WordWrap в TListBox
Работа с Clipboard, Присвоить строковой переменной...
список пользователей..., под ХР и 9х
часовой пояс...
Нажатие Enter'а в другой проге, Имитация нажатия
Поймать текст из TEdit, ...в другом приложении
ScrollBy выходит за рамки
Определение hInstance, у других приложений
импорт Word-документа, открытие .doc файлов
Как получить скорость текущего сет. подключ?
EnumWindows ... какая-то странная ошибка, EnumWindows(@EnumWindowsWnd,0);
Оптимизация манипуляций со строками
Delphi и сотовая связь
Как отловить все нажатия клавиш
Проблема методов скрытия программы при минимизации, SW_HIDE и подобные методы
Как сделать снимок экрана из сервиса.
И снова о текстурировании, помогите разобраться...
Как запустить программу невидимой
Как определить момент обращения к COM порту, Как определить момент обращения к COM по
Проверка существования строки в INI файле...
Редактирование ресурсов, А именно, о функции UpdateResource...
Процедура CreateFile?
В чём дело?
Можно ли скрестить Delphi и PowerPoint?
Как ставить Zip Master?, для Delphi 7.0
Оболочка Shell-информация о дисках.
helpfile (*.chm), помогите
Подождать и закрыть
Как Вы относитесь к курящим девушкам?
Запуск из памяти
Движение формы
Можно ли графические файлы упаковывать с exe-шнико
Правая кнопка мышки и Win98
Добавить пункт в контекстное меню
Как распознать отправителя события "закрыть прилож, сист. Кнопка "закрыть" или пункт меню.
Написание драйверов, нужна литературка
Из консоли в Memo, вывод консоли
Блокировка файла от удаления
Как получить Id текущего пользователя?, WinXP, можно и для Win98
ShellExecutе
Создание виртуального устройства
как запретить проверку флоппи-дисковода?, запрет проверки дисковода
Диалог выбора значка...
Интернационализация приложения, как быть с китайским ?
Как сделать свой архиватор, средствами Delphi 7
Процесс не убивается...
Добавить пункт в контекстное меню
Как запустить процесс с приоритетом Below Normal
Автозагрузка в Безопасном режиме, В Б Р WinXP проги из Автозагр. не загр.
замена иконки в трее
Как получить слово под курсором мыши
Перехват прерівания !, Диплом: Драйвер на Delphi
Системное меню, запретить
Создание в качестве отчета документа в MS Word, Delphi 5
hOOK, ЛОВУШКА НА МЫШЬ, МОЖНО ЛИ БЕЗ DLL?
Удаление dll
Определение и установка..., ...скорости CD-привода.

Платные хостинги     Раскрутка сайта     Книги по программированию


Как распознать отправителя события "закрыть прилож, сист. Кнопка "закрыть" или пункт меню.

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Сообщение о закрытии через системное меню приходит в Application а все остальные события приходят в главную форму приложения, соответственно тебе нужно лишь их распаралелить.Вот примерчик:Код unit Unit1;interfaceuses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    procedure FormCreate(Sender: TObject);  private    function ApplicationMessage(var Message: TMessage): Boolean;    procedure WMClose(var Message: TMessage); message WM_CLOSE;  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  Application.HookMainWindow(ApplicationMessage);end;function TForm1.ApplicationMessage(var Message: TMessage): Boolean;begin  Result := False;  if Message.Msg = WM_CLOSE then  begin    Result := MessageBox(Handle, 'Нажатие через системное меню. Закрывать?',      'Завершение работы приложения',      MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) = ID_NO;  end;  inherited;end;procedure TForm1.WMClose(var Message: TMessage);begin  if MessageBox(Handle, 'Нажатие через кнопку закрытия. Закрывать?',    'Завершение работы приложения',    MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) = ID_YES then inherited;end;end.highlightSyntax('delphizZjY2N','delphi');

- Какие уж тут лыжи на асфальте?ApplicationMessage ты получишь только когда будешь закрывать целиком приложение.Краткий экскурс: то что ты видишь на экране - это главная форма приложения, но в действительности она не является главной, главнее ее является та форма (пардон - банальное окно) которая создается при инициализации приложения и которую использует TApplication. Именно она отображается в тулбаре внизу. Она не видна во время обычной работы, но именно там крутиться ЦВС. Щелкни внизу правой кнопкой на тулбаре (на "кнопке" своего приложения и закрой его)...

- Ну чтож. раз гора не идет к магомеду, тогда магомед идет к другой горе ;)Вот такой код пойдет?Код unit Unit1;interfaceuses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    procedure FormCreate(Sender: TObject);  private    FMenuEnabled: Boolean;    function ApplicationMessage(var Message: TMessage): Boolean;    procedure WMClose(var Message: TMessage); message WM_CLOSE;    procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMMAND;    procedure WMInitMenuPopup(var Message: TMessage); message WM_INITMENUPOPUP;  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  Application.HookMainWindow(ApplicationMessage);end;function TForm1.ApplicationMessage(var Message: TMessage): Boolean;begin  Result := False;  if Message.Msg = WM_CLOSE then  begin    Result := MessageBox(Handle, 'Закрытие через системное меню. Закрывать?',      'Завершение работы приложения',      MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) = ID_NO;  end;  inherited;end;procedure TForm1.WMClose(var Message: TMessage);begin  if FMenuEnabled then  begin    if MessageBox(Handle, 'Завершение через меню. Закрывать?',      'Завершение работы приложения',      MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) = ID_YES then inherited;  end  else    if MessageBox(Handle, 'Завершение через кнопку закрытия. Закрывать?',      'Завершение работы приложения',      MB_YESNO + MB_DEFBUTTON2 + MB_ICONQUESTION) = ID_YES then inherited;  FMenuEnabled := False;end;procedure TForm1.WMInitMenuPopup(var Message: TMessage);begin  FMenuEnabled := GetSystemMenu(Handle, False) = Message.WParam;  inherited;end;procedure TForm1.WMSysCommand(var Message: TMessage);begin  case Message.WParam of    SC_RESTORE, SC_MOVE, SC_SIZE, SC_MINIMIZE, SC_MAXIMIZE:      FMenuEnabled := False;  end;  inherited;end;end.highlightSyntax('delphi0ZjZjN','delphi'); Это сообщение отредактировал Rouse_ - 25.4.2005, 13:04

- Код unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls;type  TForm1 = class(TForm)    procedure WndProc(var Message: TMessage); override;    procedure FormCreate(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.WndProc(var Message: TMessage);var m:TKeyboardState;begin if Message.Msg=WM_Close then  begin   GetKeyboardState(m);   if (m[18]and m[115])=$81 then    ShowMessage('Пипец по ALT+F4');  end; inherited;end;procedure TForm1.FormCreate(Sender: TObject);var m:TKeyboardState;begin FillChar(m,SizeOf(m),#0); SetKeyboardState(m);end;end.highlightSyntax('delphiWRmOWU','delphi');

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с учебник | программирование сотовых | офшорное программирование | примеры линейное программирование | анализ программирование | программирование делфи | cgi программирование | программирование atmel | школа программирования | типы программирования | практика программирования | программирование autocad | программирование профессиональное | обзор языков программирования | среда программирования delphi | задачи целочисленного программирования | характеристика языка программирования | стиль программирования | постановка задачи программирование | программирование серверов | программирование диплом скачать | применение программирования | Ссылки

Все про практика программирования