Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Можно ли в TItemMenu у которого есть ImageIndex > -1 вывести   Найти похожие ветки 

 
Вован   (2003-09-09 13:15) [0]

галочку Checked?


 
ZEE ©   (2003-09-09 13:25) [1]

при Checked=true "галочки" не будет, а будет картинка вдавленая (т.е. с бордером вокруг)


 
Вован   (2003-09-09 17:16) [2]

Что-то не вдавливается.


 
clickmaker ©   (2003-09-09 17:51) [3]

Значит не checked


 
ZEE ©   (2003-09-09 17:54) [4]

кстати МенюИтем сам "чекнутым" не станет - надо самому его "чекать"
на OnClick повесь что-то типа
MyMenuItem.Checked:=not MyMenuItem.Checked;


 
Вован   (2003-09-09 17:56) [5]

Не, ну без картинки же "чекается".


 
ZEE ©   (2003-09-09 17:59) [6]

сори, не учел AutoCheck
но у меня все-равно чекнутые итемы получаются с вдавленными картинками


 
Вован   (2003-09-09 18:05) [7]

У тебя хоть что-то получается. А у меня даже если в десигне выставляю Cjtcked=true в рантайме картика не вдавливается


 
Calm ©   (2003-09-09 18:17) [8]

2 Вован
Может у тебя на MenuItem прицеплен action, а ты пытаешься изменить настройки самого item"а?

Если есть action, то нужно в нем делать.


 
Вован   (2003-09-09 18:24) [9]

Так так и делаю:

if (Optinos and dro_Fixed)=dro_Fixed then
TAction(Sender).Checked:=true

Я же говорю без картики влажок ставится
Может это из-за D7, наверно прийдется дебакить drow этого ItemMenu
Только где BraekPoint поставить


 
ZEE ©   (2003-09-09 18:27) [10]

[9] - попробуй без акшна чекать - если получится - то дело в нем...


 
Вован   (2003-09-09 18:34) [11]

Не помогает


 
ZEE ©   (2003-09-09 18:44) [12]

т.е. - даже чекнутый итем с картинкой и без акшна (и лучше без эвентсов) - получается не вдавленым?..
зы: и еще проверь RadioItem=false и GroupIndex=0


 
Вован   (2003-09-09 19:08) [13]

Угу

object fggfhggfg1: TMenuItem
AutoCheck = True
Caption = "fggfhggfg"
Checked = True
ImageIndex = 7
end


 
Вован   (2003-09-09 20:05) [14]

Помойму нашел.
У TMenuItem в NormalDraw есть такие фразы:


{ Draw background pattern brush if selected }
if Checked and not WinXP then
begin
Inc(GlyphRect.Right);
Inc(GlyphRect.Bottom);
OldBrushColor := Brush.Color;
if not (odSelected in State) then
begin
OldBrushColor := Brush.Color;
Brush.Bitmap := AllocPatternBitmap(clBtnFace, clBtnHighlight);
FillRect(GlyphRect);
end
else
begin
Brush.Color := clBtnFace;
FillRect(GlyphRect);
end;
Brush.Color := OldBrushColor;
Inc(GlyphRect.Left);
Inc(GlyphRect.Top);
end;



if Checked or Selected and DrawGlyph then
if not WinXP then
DrawEdge(Handle, GlyphRect, EdgeStyle[Checked], BF_RECT);


И почему же это он в XP это делать?


 
Вован   (2003-09-09 20:05) [15]

не хочет?


 
Вован   (2003-09-09 20:10) [16]

Помогло исправить ситуацию обьяснение VCL-у что он работает не на XP:
Win32MinorVersion:=0;

Хотя неизветсно к чему это еще приведет. Но зато картнки вдавленные.


 
Вован   (2003-09-10 00:29) [17]

Может кто нибудь знает правду как в XP+D7 такое сделать нормальным путем?



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

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
3-71467
ddenis
2003-08-29 00:31
2003.09.22
Как подружить COM, TDataSet и ASP?


14-71921
Kost
2003-09-02 14:19
2003.09.22
Темы


3-71485
Engel
2003-09-01 19:33
2003.09.22
Компоненты для переноса таблицы


1-71655
Вован
2003-09-08 22:21
2003.09.22
Как узнать в обработчике TAction кем он вызван? Какой кнопкой или


1-71626
Сергей Суровцев
2003-09-08 22:40
2003.09.22
RichEdit - отключение смены языка