| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
После того, как описатель инициализирован и вы вернулись в
TDW, выбрав команду DataіInspect (ДанныеіПроверка) и введя имя
соответствующего объекта окна (в TDODEMO
WinMain#MyApp.MainWindow), можно получить описатель окна. Найдите
элемент данных HWindow и скопируйте его в окно Clipboard (нажав
клавиши Shift-F3). После этого вы можете вставлять содержимое
HWindow в качестве описателя в диалоговом окне Add (Добавление)
или в верхней левой области окна Window Messages (нажмите клавиши
Shift-F4 в текстовом поле ввода диалогового окна).
TDeb 3.0 #3-3 = 19 =
Задание окна с разрешенной поддержкой ObnjectWindows
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Если вы запускаете программу TDINST с параметром командной
строки -w, то можете включить в TDW поддержку сообщений окна для
ObjectWindows. Когда данный параметр включен, вы можете использо-
вать имена оконных объектов, как если бы они описывались в вашей
прикладной программе.
При выборе команды ViewіWindows Messages (ОбзоріСообщения
окна) при включенном параметре OWL на экран выводится следующий
экран:
ЙН[*]НННOWL Windows MessagesННННННННННННННН3НННННН[ ][ ]»
єWindow±object±11c5:006e±±іLog±all±messages±±±±±±±±±±±±±є
є і є
є і є
є і є
єДДДДДДДДДДДДДДДДДДДДДДДДДБ<І°°°°°°°°°°°°°°°°°°°°°°°°°°>є
єHwnd:2214 wParam:0000 lParam:000000000 (000f) WM PAINT є
є є
є є
є є
ИНННННННННННННННННННННННННННННННННННННННННННННННННННННННЅ
Рис. 11.1 Окно Windows Messages с разрешенной поддержкой
ObjectWindows
ЪДДДДДДДДДДДДДї
і Add... і Добавить
і Remove і Отменить
і Delete All і Удалить все
АДДДДДДДДДДДДДЩ
Перед тем, как вы сможете регистрировать сообщения, нужно
сначала указать, для какого окна регистрируются сообщения. Это
можно сделать в левой верхней области - области выбора окна. Ло-
кальное меню области (которое активизируются с помощью клавиш Alt
-F10) позволяет вам добавить окно, удалить окно, или отменить все
выбранные окна.
Добавление выбора окна с разрешенной поддержкой ObjectWindows
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Перед тем, как вы сможете использовать объект окна, нужно
выполнить программу и пройти то место, где он инициализируется.
Обычно объект инициализируется в операторе, аналогичном следующе-
му оператору в определении функции в TDODEMO:
void CScribbleAllocation::InitMainWindow()
{
MainWindow = new ScribbleWindow(NULL, Name);
TDeb 3.0 #3-3 = 20 =
}
Позиционируйте курсор на строке после оператора инициализа-
ции и нажмите клавишу F4 для выполнения программы до той точки,
где инициализируется окно, диалоговое окно или управляющий эле-
мент. В данном примере нужно позиционировать курсор на закрыва-
ющей фигурной скобке функции.
После инициализации оконного объекта вы можете добавить его
в область выбора окна. Для добавления выбранного окна вы можете
либо выбрать команду Add (Добавление) локального меню области вы-
бора окна, либо начать ввод в этом окне имени объекта. Любой из
методов выводит диалоговое окно Add Window (Добавление окна).
Если вы не находитесь в той подпрограмме, где описывается
объект, для доступа к нему требуется переопределение области
действия. Например, в TDODEMO MainWindow является элементом MyApp
(так как MyApp представляет собой тип CScribbleApplication, кото-
рый является производным от TApplication, а TApplication содержит
элемент данных с именем MainWindow). Однако, поскольку MyApp опи-
сывается в функции WinMain, то если вы не находитесь в этой фу-
нкции, доступа к MyApp у вас нет. Таким образом, переопределением
области действия, которое обеспечивает работу в данном модуле,
является WinMain#MyApp.MainWindow.
TDeb 3.0 #3-3 = 21 =
Й[*]НAdd window or handle to watchНННННННН»
є є
є Window identifiers є
є ±±±±±±±±±±±±±±±±±±±±±±±±±±± є
є OK є
є ±±±±±±± є
є є
є Cancel є
є Identified by ±±±±±±± є
є (.) Window object є
є ( ) Handle Help є
є ±±±±±±± є
є є
ИНННННННННННННННННННННННННННННННННННННННННЅ
Рис. 17.4 Диалоговое окно Add Window с разрешенной поддерж-
кой ObjectWindows
Примечание: Ввод в данном окне первого значения уста-
навливает также класс сообщений в значение "Log all
messages" ("Регистрация всех сообщений").
Вы можете ввести либо имя подпрограммы, которая обрабатывает
сообщения для окна (выберите переключатель Window Object) или
значение-описатель (выберите переключатель Handle). Введите
столько имен подпрограмм или значений описателей, сколько нужно
для отслеживания сообщений ваших окон.
Отмена выбора окна
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Для отмены выбора окна переместите курсор на элемент, затем
либо выберите локальное меню и используйте команду Remove (Уда-
лить), либо нажмите клавиши Del, Ctrl-Y или Ctrl-R.
Чтобы отменить все окна, выберите в локальном меню команду
Delete All (Удалить все).
TDeb 3.0 #3-3 = 22 =
Задание класса сообщений и действия
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Верхняя правая область - это область класса сообщений. Ее
локальное меню идентично локальному меню области выбора окна и
позволяет вам добавить класс сообщения, удалить класс сообщения
или удалить все классы, которые вы добавили.
ЪДДДДДДДДДДДДДї
і Add... і Добавить
і Remove і Отменить
і Delete All і Удалить все
АДДДДДДДДДДДДДЩ
Перед тем, как добавить в данной области класс сообщений, в
области выбора окна нужно задать процедуру окна или описатель.
Если вы не задаете конкретный класс сообщений или класс
просматриваемых сообщений, то TDW наблюдает за всеми сообщениями,
передаваемыми процедуре окна или его описателю.
Добавление класса сообщений
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Чтобы добавить класс сообщений, выберите в области класса
сообщений команду локального меню Add (Добавление). TDW выводит
следующее диалоговое окно:
Й[*]НННSet message filterННННННННННННННННН»
є Message Class OK є
є ( ) All messages ±±±±±±± є
є ( ) Mouse є
є ( ) Window Cancel є
є ( ) Input ±±±±±±± є
є ( ) System є
є ( ) Initialization Help є
є ( ) Clipboard ±±±±±±± є
є ( ) DDE є
є ( ) Non-client є
є ( ) Other є
є (.) Single message ( ) Break є
є (.) Log є
є Single Message name є
є ±±±±±±±±±±±±±±±±±±±±±± є
ИНННННННННННННННННННННННННННННННННННННННННЅ
Рис. 17.5 Диалоговое окно Set Message Filter
Message Class - класс сообщений; All messages - все сообще-
ния; Mouse - "мышь"; Window - окно; Input - ввод; System - систе-
ма; Initialization - инициализация; Clipboard - буфер вырезанного
изображения; DDE - динамический обмен данными ; Non-client - не
пользовательское; Other - прочее; Single message - отдельное со-
TDeb 3.0 #3-3 = 23 =
общение; Break - прерывание; Log - регистрация; Single message
name - имя отдельного сообщения.
Диалоговое окно Set Message Filter (Задание фильтра сообще-
|
adfun.ru
|
|
|
|