Вниз
Скачать: CL | DM;

Не понятная надпись caption в TMenuItem   Найти похожие ветки 

 
ZbarKiy   (2006-02-15 12:26) [0]

Уважемые знатоки помогите разобраться в чем дело.
В моем проекте используется для удобства работы с поиском всплывающее меню. При этом взависимости от действий оператора динамически создаются 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  вывести надпись и примоугольник закрашенный определенным цветом.


 
begin...end ©   (2006-02-15 12:51) [1]

> ZbarKiy   (15.02.06 12:26)

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

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


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

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

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

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


 
КиТаЯц ©   (2006-02-15 12:55) [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:57) [4]


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

не знал...


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.048 c
2-1140372864
sashaka
2006-02-19 21:14
2006.03.05
Как узнать дату?


15-1139490279
AlterEgo of WondeRu
2006-02-09 16:04
2006.03.05
Холода, надо согреваться - Новая Samara Mastak Party!!!


1-1138957761
t0mk4
2006-02-03 12:09
2006.03.05
Image1. как вывести только один кусок картинки?


15-1139314571
БарЛог
2006-02-07 15:16
2006.03.05
FreeBSD


3-1136739867
IntruderLab
2006-01-08 20:04
2006.03.05
Работа с DAT файлами




   Наверх