Pascal 7 & Objects

       

Допустимость описателя окна


-----------------------------------------------------------------

Обычно в Windows вновь созданный интерфейсный элемент полу- чает (от Windows) сообщение wm_Create, на которое требуется отве- тить инициализацией. Интерфейсный объект ObjectWindows не будет получать сообщений wm_Create, поэтому не забудьте определить для инициализации метод SetupWindow.

Если инициализация интерфейсного объекта требует описателя элемента экрана (например, для вызова функции API Windows), то она не должна вызываться раньше SetupWindow. То есть, перед вызо- вом SetupWindow поле HWindow интерфейсного объекта не является допустимым и использоваться не должно. Если вы хотите вызывать функцию API или нечто требующее описателя окна, не вызывайте их в конструкторе Init. Поместите такие вызовы в метод SetupWindow.

|<----HWindow допустим--->| | | |<-------------------интерфейсный объект допустим---------->| --+-----------------------------------------------------------+--> ^ ^ ^ ^ ^ | | | | | Init вызывает | | | | наследуемый Init | | | | | | Done | SetupWindow вызывает наследуемый | SetupWindow | Done вызывает наследуемый | метод Done | Наследуемый SetupWindow вызывает Create

Рис. 9.1 Когда окно имеет допустимый описатель.



Содержание раздела