Автор: 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, чтобы сделать данный эффект.

Взято из http://forum.sources.ru

© GAiST 2004 - 2008