Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.049 c
1-1092070645
кш
2004-08-09 20:57
2004.08.22
мастера!!! помогите!!! как выполнить команду командной строки,


1-1092022044
SNV-Soft
2004-08-09 07:27
2004.08.22
маштабирование размеров компонентов


11-1079721449
Kiber
2004-03-19 21:37
2004.08.22
Программа копирует сама себя


3-1091415001
r00t
2004-08-02 06:50
2004.08.22
Data Type в XML Table


4-1089358067
putrsa
2004-07-09 11:27
2004.08.22
работа с визуальными компонентами чужого приложения