Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Автоматически закрыть TCommonDialog

Delphi , Программа и Интерфейс , Диалоги и Фреймы

Автоматически закрыть TCommonDialog

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  It is possible to close a common dialog shown by TCommonDialog.Execute 
  (or its overriddens) method while it is visible and application handles messages. 
  The solution is: 

  Es ist moglich einen TCommonDialog der mit TCommonDialog.Execute geoffnet wurde, 
  automatisch zu schliessen wahrend er sichtbar ist. Die Losung ist: 
}


 SendMessage(GetParent(OpenDialog1.Handle), WM_SYSCOMMAND, SC_CLOSE, 0);

Here's the translation of the content into Russian:

Код:

SendMessage(GetParent(OpenDialog1.Handle), WM_СИСТЕМНОЕПОВЕДЕНИЕ, SC_ЗАКРЫТЬ, 0);

Цель: Автоматически закрыть TCommonDialog (или любое диалоговое окно) в то время, когда оно еще видно и приложение обрабатывает сообщения.

Описание:

  • GetParent(OpenDialog1.Handle) возвращает родительское окно диалогового окна (OpenDialog1). Это необходимо потому что SendMessage требует handle окна как первого параметра.
  • WM_СИСТЕМНОЕПОВЕДЕНИЕ - это сообщение Windows, указывающее, что была выдана система команда (например, закрытие окна).
  • SC_ЗАКРЫТЬ - код системы команды для "Закрыть" (то есть закрыть окно).
  • Последний параметр, 0, не используется в этом случае.

Как это работает: Когда вы вызываете SendMessage с этими параметрами, она отправляет сообщение родительскому окну диалогового окна, инструктируя его обрабатывать систему команду. В этом случае, эта команда - "Закрыть". В результате, диалоговое окно будет автоматически закрыто.

Примечание: Это код предполагает, что диалоговое окно еще видно и приложение обрабатывает сообщения. Если диалоговое окно уже было закрыто или приложение не обрабатывает сообщения, это код может не работать так, как ожидалось. В целом, это простой и эффективный способ программно закрыть TCommonDialog в Delphi, когда оно еще видно.

Автоматическое закрытие диалогового окна TCommonDialog может быть выполнено с помощью вызова функции SendMessage в сочетании с Handle диалогового окна и кодом сообщения WM_SYSCOMMAND.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Диалоги и Фреймы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-10 07:13:18
2024-05-19 17:39:42/0.010293960571289/2