| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как система узнает Tmainmenu? |
| Автор: Sunvas 9.9.2006, 01:16 |
| Лазя по чужому исходнику я нашел строку-функцию Windows.SetMenu. Первым параметром задается хэндл формы, а вторым хэндл Mainmenu. Таким образом к форме можно прикрепить Tmainmenu. Вот что меня удивило: все параметры - хендлы. Возник вопрос: как программа узнает, что это именно хэндл menu, и почему не работает эта функция, когда я указываю хэндл например кнопки? Иными словами: что делает класс на основе TComponent действительно Mainmenu? |
| Автор: Snowy 9.9.2006, 07:28 |
| Хэндл - всего лишь число, идентифицирующее ранее созданный виндой объект. Объектом управляет винда. У неё есть все данные. По ним она и работает. Соответственно она никак не может работать с меню по данным кнопки, т.к. это не меню. Чтобы меню было меню, нужно, чтобы её хэндля был получен функцией CreatMenu. Именно этой функцией винда создаёт меню и возвращает хэндл меню. |