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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OnCLose, OnDestroy на WinAPI 
:(
    Опции темы
ButtonOFF
Дата 26.11.2009, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


улетевший
*


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

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



Всем привет!
Мучает меня один вопрос, как устроен механизм Закрытия и Убивание окна? Сам я думаю что отправляется сообщение моему окну, но кто? Могу я сам их обрабатывать без применения форм, например в безформеном приложении? Если можно, то подскажите как.

Это сообщение отредактировал(а) ButtonOFF - 26.11.2009, 17:34
PM MAIL   Вверх
ButtonOFF
Дата 26.11.2009, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


улетевший
*


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

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



Вот нашел, пойду разбиратся

MSDN -> Windows -> Window Features -> Message-Only Windows : 

"A message-only window enables you to send and receive messages. 
It is not visible, has no z-order, cannot be enumerated, and does not receive broadcast messages. The window simply dispatches messages. 
To create a message-only window, specify the HWND_MESSAGE constant or a handle to an existing message-only window in the hWndParent parameter of the CreateWindowEx function. 
You can also change an existing window to a message-only window by specifying HWND_MESSAGE in the hWndNewParent parameter of the SetParent function. 
To find message-only windows, specify HWND_MESSAGE in the hwndParent parameter of the FindWindowEx function. 
In addition, FindWindowEx searches message-only windows as well as top-level windows if both the hwndParent and hwndChildAfter parameters are NULL."

PM MAIL   Вверх
ButtonOFF
Дата 26.11.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


улетевший
*


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

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



Пробую так создать окно
Код

  h := CreateWindowEx(0,
                      PChar('button'),
                      PChar('MyWindow'),
                      0,
                      0,
                      0,
                      0,
                      0,
                      HWND(HWND_MESSAGE),
                      0,
                      0,
                      nil);

но почему то компилятор говорит на HWND_MESSAGE - "Constant expression violates subrange bounds"
This error message occurs when the compiler can determine that a constant is outside the legal range. This can occur for instance if you assign a constant to a variable of subrange type.
Т.е что, делфи не разрешает создавать такие окна ? Создаю в D7.
Народ попробуйте у себя создать.

UPDATE Ептеть как все запущенно, в общем вместо HWND_MESSAGE нужно HWND(HWND_MESSAGE).
Какой раз убеждаюсь что делфи наикривейший компилятор, но учится на нем проще чем на других.

Это сообщение отредактировал(а) ButtonOFF - 26.11.2009, 19:54
PM MAIL   Вверх
kami
Дата 27.11.2009, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

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



Цитата(ButtonOFF @  26.11.2009,  19:43 Найти цитируемый пост)
Какой раз убеждаюсь что делфи наикривейший компилятор,

Ну почему?
Смотрим исходники (в D7):
1. параметр CreateWindowEx.hWndParent имеет тип HWND = LongWord, т.е. беззнаковое. 
2. константа HWND_MESSAGE = -3, то есть отрицательное число, которое "не вписывается" в LongWord, т.к. LongWord предполагает только положительные числа.
Замечание компилятора в этом контексте вполне логично, как и необходимость приведения знаковой константы к беззнаковому целому.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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