![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окно с кнопкой - это иллюзия?
cutter-pro © (2003-02-04 13:35:00)Недавно разбирался в ресурсном файле RC и заметил интересный факт: среди всех возможных ресурсов, которые могут задаваться в этом файле отсутстсвует, например, ресурс "КНОПКА".
А потом, покопавшись в MSDN, встретил следующее высказывание Microsoft: "Кнопки вообще изначально не рассчитаны на использование в основном окне программы, основное их использование - в диалоговых окнах".
Но ведь Delphi это как-то реализует!? Как?
Или может быть это иллюзия основного окна с кнопкой, а на самом деле вместо основного окна на экран выводится окно диалога с кнопкой?
cutter-pro (2003-02-04 14:56:00) [1]Игорь Шевченко ©
Приятно когда человек любит не только тесто, но и начинку!
ПЯТЬ БАЛЛОВ! В остальном думаю разберусь сам...
Игорь Шевченко (2003-02-04 14:51:00) [2]
> А как же тогда Delphi обеспечивает уникальность источников
> (нескольких кнопок в основном окне) сообщений посылаемых
> в оконную функцию!?
Молча. Каждая кнопка - это отдельное окно (в диалоге, кстати, тоже). Разобраться, откуда сообщение приходит, труда, обычно не составляет.
cutter-pro (2003-02-04 14:31:00) [3]2 han_malign ©
Вот это уже конкретнее! :) Большой СПАСИБ!!!
han_malign (2003-02-04 14:28:00) [4]чего там рыть:
Source\VCL\stdctrls.pas
TButtonControl = class(TWinControl)
.....................................
TButton = class(TButtonControl)
private
.................
procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure CMFocusChanged(var Message: TCMFocusChanged); message CM_FOCUSCHANGED;
procedure CNCommand(var Message: TWMCommand); message CN_COMMAND;
..................
public
..................
procedure Click; override;
....................................
cutter-pro (2003-02-04 14:22:00) [5]Всем - большое спасибо за помощь. Буду рыть...
Anatoly Podgoretsky (2003-02-04 14:19:00) [6]Тоже без обид, это настолько объемно, что надо именно смотреть исходники, слава богу они под рукой.
cutter-pro (2003-02-04 14:15:00) [7]2 Anatoly Podgoretsky ©
Что такое колесо - смотри историю величайших открытий человечества, изучи устройство автомобиля, паровоза, парохода... ручного миксера, балалайки и т.д.
:( Без обид, а самому, неужели никогда не было интересно, что же все-таки происходит внутри Delphi?
Anatoly Podgoretsky (2003-02-04 14:00:00) [8]Тебя это очень интересует?, тогда смотри исходники VCL
cutter-pro (2003-02-04 13:58:00) [9]С уважением! 2 REA ©
> не использует код windows по созданию
А как же тогда Delphi обеспечивает уникальность источников (нескольких кнопок в основном окне) сообщений посылаемых в оконную функцию!?
REA (2003-02-04 13:52:00) [10]Ресурсов кнопки потому и нет, что Delphi все формы запихивает в своем формате и не использует код windows по созданию диалогов.
cutter-pro (2003-02-04 13:49:00) [11]С уважением! 2 REA ©
Я и не имею ввиду то, что Delphi предлагает программисту, а говорю о конечной реализации со стороны Delphi рабочего кода!
REA (2003-02-04 13:46:00) [12]И диалогов в Delphi (в понимании этого слова в контексте Windows диалогов) тоже нет.
cutter-pro (2003-02-04 13:44:00) [13]С уважением! 2 Anatoly Podgoretsky ©
Но ведь кнопку можно создать и необязательно в диалоговом окне, а и в основном окне.
REA (2003-02-04 13:42:00) [14]Основное окно программы в Delphi на экран вообще не выводится.
Anatoly Podgoretsky (2003-02-04 13:39:00) [15]Если есть кнопка, то это уже диалог