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

проблемы с XP Style   Найти похожие ветки 

← →
GuAV ©   (2004-08-04 18:36) [0]

Запускаю своё приложение в ХР (pro, SP1). Оно написано и скомпилировано в D7, манифест в ресурсах.
И сталкиваюсь с рядом визуальных глюков:

1. "ToolBar Menu" рисуется не как меню а как ToolBar. пытаюсь рисовать сам. и сразу две проблемы.

а) после OnCustomDrawButton с cdsSelected in State происходит то же самое без оного, причем после снятия выбора никакой OnCustomDrawButton не происходит. Проблема исчезает только при отключении манифеста.

б) Этот код работает для TThemedButton и многих других но не для TThemedMenu:

procedure TfrmMain.tbMainMenuCustomDrawButton(Sender: TToolBar;
 Button: TToolButton; State: TCustomDrawState; var DefaultDraw: Boolean);
var
 R: TRect;
 Bar: TThemedButton;
 Details: TThemedElementDetails;
begin
 if not ThemeServices.ThemesEnabled then Exit;
 DefaultDraw:=False;
 with Sender do
 begin
    if cdsSelected in State then
      Bar:=tbPushButtonPressed  // это не работает, описано в 1a
    else
       if cdsHot in State then
         Bar:=tbPushButtonHot
       else
         if CancelNormal<>0 then
           Bar:=tbPushButtonPressed;
         else
           Bar:=tbPushButtonNormal;
   Details:=ThemeServices.GetElementDetails(Bar);
   R:=Button.BoundsRect;
   Inc(R.Top,2);
   ThemeServices.DrawParentBackground(Handle, Canvas.Handle, @Details, False, @R);
   ThemeServices.DrawElement(Canvas.Handle, Details, Button.BoundsRect);
   ThemeServices.DrawText(Canvas.Handle, Details, Button.Caption, R,
     DT_CENTER or DT_BOTTOM or DT_NOCLIP,0);
 end;
end;


2. Вне зависимости от того, подключен манифест или нет, RadioItems в меню рисуются как checkitems. а если там есть картинки, то они не отображают состояние.

3. При нажатии на Checked ToolBar кнопку с Style=tbsCheck, Grouped=True и AllowAllUp=False она рисуется отжатой, и остается такой пока мыша не отведена. Проблема исчезает только при отключении манифеста.

Если кто-нибудь знает как это исправить, пожалуйста напишите.


← →
GuAV ©   (2004-08-04 23:35) [1]

2 - снимается...



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

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



Память: 0.45 MB
Время: 0.021 c
3-1090574765
}|{yk
2004-07-23 13:26
2004.08.22
Firebird и event


3-1090922487
dimds
2004-07-27 14:01
2004.08.22
параметры типа битмап


14-1091638104
sasha_n
2004-08-04 20:48
2004.08.22
Структура файла SecEvent.Evt


8-1086464611
SniZ
2004-06-05 23:43
2004.08.22
Получение снимка экрана и сохранение его в JPG


14-1091608699
Klerk
2004-08-04 12:38
2004.08.22
Слетели шрифты в WordXP




   Наверх