![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не понятная надпись 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