![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк или крив.руки? TMenuItem.Checked [D7, WinXP]
MetalFan © (2006-11-12 11:17:00)был проект под D6, перешел на D7.
что имеем:
естьmm:TMainMenuиpm:TPopupMenu,
естьal:TActionListсai:TAction.
ко всем (al,mm,pm) подключен одинTImageList
у mm и pm есть поmi: TMenuItem, которым назначен ai с выбранным ImageIndex.
есть некая переменная
FFlag: boolean;
есть код:
...
TForm.aiExecute(Sender: TObject);
begin
FFlag := not FFlag;
end;
TForm.aiUpdate(Sender: TObject);
begin
TAction( Sender ).Checked := FFlag;
end;
...
в D6 было все нормально, если Checked - то картинка в меню обводилась рамочкой.
в D7 вид не изменяется((( хотя mi.Checked = true;
версия делфи: 7.0 (Build 4.453)
Мастера, зашел в тупик!!!
Хелп!!!
MetalFan (2006-11-13 16:34:00) [1]нет, дело не в этом. это косяк VCL...
после выполнения моего кода и экшн и менюитем правильно присваивается Checked
Anatoly Podgoretsky (2006-11-13 11:02:00) [2]> vl_chel (13.11.2006 10:28:04) [4]
Вполне иожет быть и даже очень вероятно, надо бы код переписать так
if Sender is TAction then TAction(Sender).Checked := FFlag;
vl_chel (2006-11-13 10:28:00) [3]А Sender кто ??? может здесь, у меня были проблемы именно из за явного приведения типов для Sender a
MetalFan (2006-11-13 08:26:00) [4]поставил обратно D6. а так либо OnAdvancedDraw перекрывать, либо в сорцах VCL править... другого пути я не нашел(
Правильный Вася (2006-11-12 18:26:00) [5]решение расскажи, а?
MetalFan (2006-11-12 15:36:00) [6]тему можно закрыть...