Главная страница
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.03 c
10-1030551543
kavlad
2002-08-28 20:19
2004.08.22
CORBA-сервер, возвращающий файл.


4-1089734671
Vitalnet
2004-07-13 20:04
2004.08.22
Как переместить созданный фаил в нужный католог


3-1091087814
Serge1
2004-07-29 11:56
2004.08.22
Добавление поля в ADOTable1.Fields


3-1090931552
CyberMOHCTP
2004-07-27 16:32
2004.08.22
ошибка FIBPLus5.bpl


1-1091113225
denis555
2004-07-29 19:00
2004.08.22
Как прочитать файл в Unicode