Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Пишем свой текст в TMainMenu

01.01.2007
Ido Kanner

Когда играешь во встроенную в Windows игру "freecell", то справа в меню постоянно пишется сколько осталось карт. Давайте посмотрим, как это делается.

Перво-наперво положим компонент главного меню на форму.

Теперь установим свойство OwnerDraw в true.

Далее создайте, то что Вы хотите вырисовывать в меню и создайте OnDrawItem.

И добавьте в него следующую строку:

... 
ACanvas.TextOut(1,ARect.Top+1,'I am in the MainMenuDrawbar'); 
... 

Не забудьте, если Вы используете изменяющуюся переменную, то измените её в другой функции и всё что надо будет сделать - это вызвать API функцию DrawMenuBar.

Если Вы используете Delphi 2,3 пользуйтесь сообщениями WM_MESUREITEM и WM_DRAWITEM, чтобы сделать данный эффект.

Previous page:
Как узнать о нажатии non-menu клавиши в момент, когда меню показано?
Top:
DRKB
Next page:
Как рисовать картинки в пунктах меню?