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

Вниз

DWM не всегда нормально отключается прозрачность у окна   Найти похожие ветки 

 
@!!ex ©   (2012-01-24 16:08) [0]

Рендерю дополнительную кнопку в заголовке окна.
Для того чтобы это работал корректно с включенным Aero для окна принудительно отключается прозрачность:
procedure EnableNCRendering(hwnd:HWND);
var
 ncrp:DWord;
 osvi:OSVERSIONINFOA;
begin
 osvi.dwOSVersionInfoSize := sizeof(OSVERSIONINFOA);
 GetVersionExA(osvi);

 if osvi.dwMajorVersion>5 then begin
   ncrp := DWMNCRP_DISABLED;
   DwmSetWindowAttribute(hwnd, DWMWA_NCRENDERING_POLICY, @ncrp, sizeof(ncrp));
end;



Проблема в том, что рандомно слетает вообще отрисовка заголовка у окна.
Обычно все нормально, но раз в несколько запусков вместо Caption и системных кнопок образуется просто белая полоса.
Что я делаю не так?


 
QAZ   (2012-01-24 19:45) [1]

> Рендерю дополнительную кнопку в заголовке окна.
> Что я делаю не так?
херней страдаеш,делаеш нестандартный,никому кроме тебя ненужный интерфейс


 
@!!ex ©   (2012-01-24 19:56) [2]

Как показала практика - очень правильный и нужный интерфейс делаем.
С нашим софтом, благодаря интерактивной системе помощи народ начинает эффективно работать в 4-5 раз быстрее чем в аналогичных инструментах у других разработчиков.
Доказано практикой.
Еще ниразу не слышал чтобы пользователи жаловались на лишнюю кнопку в кэпшене, зато если кнопки вдруг нет - нас просят ее добавить.


 
QAZ   (2012-01-24 21:48) [3]

абалдеть нифстать,про F1 они никогда не слышали?


 
@!!ex ©   (2012-01-24 22:17) [4]

Пользователи не используют F1. Пользователи не читают мануалов.
Если вы не знаете этого - значит вы никогда не делали сколь либо серьезного софта.
Пользователи все исследуют методом тыка, мы не боремся с этим, а используем. И это прекрасно работает.

Открою вам страшную тайна:
1) Пользователи не пользуются F1.
2) Справка в стандартном виде отпугивает пользователей. Поскольку содержит плохо структурированный набор информации.
3) Пользователь лучше всего воспринимает подсказки с минимум текста, небольшие наглядные картинки и простенькие анимации.
4) действуя стереотипами(типа того, что интерфейс должен быть только таким как задумали создатели ОС) вы никогда не сделаете ничего нового, а будете просто повторять ошибки предшественников.


 
Dimka Maslov ©   (2012-01-24 22:24) [5]


> Справка в стандартном виде отпугивает пользователей. Поскольку
> содержит плохо структурированный набор информации.


Это проблема разработчиков справки. Хорошо сделанную справку очень даже читают. Сам видел.

По существу вопроса: как мне удалось установить, в дельфи по приходу сообщения WM_SETTINGCHANGE происходит перерисовка, причём все стили и темы сбрасываются и устанавливаются по умолчанию. Борьба - через перехват и восстановление состояния после обработки этого сообщения.


 
@!!ex ©   (2012-01-24 22:33) [6]

Ок. Попробую копать в эту сторону. Спасибо за наводку.


 
Dimka Maslov ©   (2012-01-24 23:13) [7]

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


 
Anatoly Podgoretsky ©   (2012-01-25 10:05) [8]


> Еще ниразу не слышал чтобы пользователи жаловались на лишнюю
> кнопку в кэпшене, зато если кнопки вдруг нет - нас просят
> ее добавить.

Еще как жалуются, были некоторые программы с дополнительной кнопкой, народ сильно на них ругался.

И конечно справедливо, что просят сделать что то странное.


 
Anatoly Podgoretsky ©   (2012-01-25 10:11) [9]

> @!!ex  (24.01.2012 22:17:04)  [4]

Открою тайну, внизу окна находится областьнотификаций, и она поддерживает
ToolTips, это такой желтый прямоугольник, всплывающий когда надо.
Открою еще один секрет, также как не нажимают F1, также и не нажимают на
дополнительную кнопку в окне, не нажимают даже на кронку [?] в диалогах, не
зря же Микрософт убрал ее в новых программах, а них есть лаборатория по
иследованию интерфейсов, в отличии от тебя.


 
@!!ex ©   (2012-01-25 12:51) [10]

У меня есть фидбек от пользователей. :)
На кнопку Help в Caption у нас тыкают и активно.
Возможно это связанно с тем, что народ видит кнопку, которой нигде больше никогда не видел.
ToolTips мы и используешь.


 
QAZ   (2012-01-25 14:17) [11]

если такой креативный,почему не сделать свой заголовок окна ?
и пихай туда, хоть кнопки, хоть едиты, чем бодаца с виндой кто кого перерисует...


 
Eraser ©   (2012-01-25 15:45) [12]

> [8] Anatoly Podgoretsky ©   (25.01.12 10:05)

Это понятия 2002 года. Вы давно в интерфейс современного MS Office заглядывали? с аеро всякие эти дополнительные кнопочки очень не плохо сочитаются.


 
Eraser ©   (2012-01-25 15:46) [13]

> [0] @!!ex ©   (24.01.12 16:08)

да, скорее всего рисовать вручную придется, ну т.е. полу вручную.


 
@!!ex ©   (2012-01-25 16:15) [14]

> если такой креативный,почему не сделать свой заголовок окна ?
Моя цель не в том, чтобы сделать "никак у всех".
А в том, чтобы реализовать нужные нам плюхи.
Винда вполне позволяет это сделать, достаточно ей сказать что хочешь рисовать на кэпшене. Я так понимаю сейчас приходится бодаться не с виндой, а с дельфи.

>да, скорее всего рисовать вручную придется, ну т.е. полу вручную.
То есть получать тему и вручную ее рисовать? :(


 
CRLF   (2012-01-25 19:54) [15]


> То есть получать тему и вручную ее рисовать?
Это несложно, смотри модули Theme, uxTheme. Единственно меня смущает -- Aero при наведении курсора кнопку как-то подсвечивает. Как это сделать, пока непонятно.



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

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

Наверх




Память: 0.51 MB
Время: 0.007 c
15-1388932280
Разведка
2014-01-05 18:31
2014.08.03
Преобразование даты


15-1388694602
Юрий
2014-01-03 00:30
2014.08.03
С днем рождения ! 3 января 2014 пятница


15-1389417411
Viktor Makarov
2014-01-11 09:16
2014.08.03
Помогите пожалуйста написать код для этой задачи)


15-1389182442
RDen
2014-01-08 16:00
2014.08.03
hdmi - usb


15-1389385804
Юрий
2014-01-11 00:30
2014.08.03
С днем рождения ! 11 января 2014 суббота