Форум: "Основная";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизМожно ли в 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c