Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не понятная надпись caption в TMenuItem [D5, D6, D7]


ZbarKiy ©   (2006-02-15 12:26:00) 

Уважемые знатоки помогите разобраться в чем дело.
В моем проекте используется для удобства работы с поиском всплывающее меню. При этом взависимости от действий оператора динамически создаются TMenuItem. В Caption созданного объекта я ввожу определенную надпись. На событие OnClick  я добавляю процедуру:
  OnClick := MyProcedure;
Уневерсальня процедура для события OnClick
Procedure TForm1.MyProcedure(sender: Tobject);
begin
with sender as TMenuItem begin
здесь происходит нечто LOCATE по Caption TMenuItem
end;
end;
Все замечательно работает до тех пор пока в Caption  не попадает нечто:
'Пример № 1' в процедуре MyProcedure caption TMenuItem выдает мне 'Пример № &1'. Как мне от этого симпотично избавится и второй вопрос как на TMenuItem  вывести надпись и примоугольник закрашенный определенным цветом.


ZbarKiy   (2006-02-15 14:19:00) [1]

>Menus.StripHotKey
Спасибо за дельные советы нашел подходящие
TPopupMenu.AutoHotKey := maManual;


КиТаЯц   (2006-02-15 12:57:00) [2]


> begin...end ©   (15.02.06 12:51) [1]
>
> Menus.StripHotKey
>

не знал...


КиТаЯц   (2006-02-15 12:55:00) [3]

Странно... Сам создаеш итем, соответственно сам его caption...
Хм... Операнд горячей клавиши автоматом подставляется что-ли?.. Первое что в голову приходит:

Procedure TForm1.MyProcedure(sender: Tobject);
begin
with sender as TMenuItem begin
здесь происходит нечто LOCATE по Заменить(Caption )TMenuItem
end;
end;

function Заменить (S: string): string;
begin
 result:= заменить все символы '&' в строке S на '';
end;


КаПиБаРа   (2006-02-15 12:54:00) [4]

Используй LOCATE не по Caption TMenuItem, а по Tag.

Как избавится от & - не помню.

Прямоугольники рисуются так
http://www.yandex.ru/yandsearch?text=Delphi+OnAdvancedDrawItem&stype=www


begin...end   (2006-02-15 12:51:00) [5]

> ZbarKiy   (15.02.06 12:26)

> Как мне от этого симпотично избавится
Menus.StripHotKey

> как на TMenuItem  вывести надпись и примоугольник
TMenuItem.OnDrawItem


Наверх

Титульная страница Поиск, карта сайта Написать письмо