![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно изменить стиль окон и кнопок в XP [D5, Win95/98]
AndreyProg © (2005-05-25 21:57:00)Помогите!
Мне нужно, чтобы окна программы, написанной под Windows98 в Delphi5, при запуске в WindowsXP отображались тоже в классическом стиле.
Как это сделать программно? С помощью API или манифестов? Способ?
Заранее спасибо.
GrayFace (2005-06-14 23:52:00) [1]Abessalom (14.06.05 21:36) [47]
Какие ваши доказательства?)))
Я смотрел.
У тебя есть пример этого?
Abessalom (2005-06-14 21:36:00) [2]
> GrayFace © (09.06.05 09:24) [45]
Какие ваши доказательства?)))
AndreyProg (2005-06-14 17:36:00) [3]Решение найдено!
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21411736.html
Всем спасибо! (Особенно Gero)
GrayFace (2005-06-09 09:24:00) [4]Abessalom (07.06.05 22:54) [44]
Так же как и классической теме)))
Нет. GetSystemMetrics продолжает возвражать размеры кнопок без темы, а надо узнать размеры тематических.
Abessalom (2005-06-07 22:54:00) [5]
> GrayFace © (07.06.05 11:00) [41]
> В классической теме, действительно, нет проблем, но как
> в XP получить размер кнопок в заголовке?
Так же как и классической теме)))
AndreyProg (2005-06-07 17:15:00) [6]Эй, кто-нибудь, проверит код
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21172764.html ?
Мне надо узнать, как запустить этот менеджер.
alpet (2005-06-07 11:48:00) [7]GrayFace © (07.06.05 11:00) [41]
Ну иначе некрасиво было бы: половина окон серебристая, половина - классическая.
Почему тогда у меня все отображается нормально, вроде все апдейты есть (Windows XP Prof.Edition, сборка 2600.xpsp_sp2_grd.050301-1519: Service Pack 2). Или это относится только к отдельным компам?
GrayFace (2005-06-07 11:00:00) [8]Еще можно так:
procedure TForm1.FormResize(Sender: TObject);
begin
SetWindowRgn(Handle,CreateRectRgn(0, 0, Width, Height),true);
end;
alpet © (26.05.05 18:05) [12]
Это странное поведение ОС, она не должна применять визуальный стиль к приложению не использующему манифест.
Ну иначе некрасиво было бы: половина окон серебристая, половина - классическая.
Abessalom (06.06.05 23:42) [40]
Кнопки в заголовке, если нужны, рисуй и обрабатывай сам, ничего сложного, а также можно найти компоненты.
В классической теме, действительно, нет проблем, но как в XP получить размер кнопок в заголовке?
Abessalom (2005-06-06 23:42:00) [9]BorderStyle := bsSizeToolWin;
SetWindowTheme(Handle, '', '');
Очень похоже на старый стиль.
Кнопки в заголовке, если нужны, рисуй и обрабатывай сам, ничего сложного, а также можно найти компоненты.
MacroDenS (2005-06-06 20:33:00) [10]Маркером дорисуй
NikotiN (2005-06-06 20:30:00) [11]Как программно изменить стиль окон и кнопок в XP
а как аппаратно?
MacroDenS (2005-06-06 19:13:00) [12]Вот дела... Раньше люди искали компоненты, манифесты и прочее для того, чтобы оформить прогу win98+ как под XP. Росли значит, стремились к современности, а теперь вот полюбуйтесь! Дегродация начинается. ИМХО не к добру все это!
AndreyProg (2005-06-06 16:42:00) [13]Господа, обратите, пожалуйста, внимание на предыдущий вопрос.
AndreyProg (2005-06-02 09:04:00) [14]Просьба!
Кто-нибудь проверял этот код?
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_21172764.html
У меня он не работает. Затыкается на первом же обрашении в методу ole-объекта Manager.
Проверьте, пожалуйста!
Gero (2005-05-29 23:04:00) [15]
> AndreyProg (29.05.05 20:49)
Я к тому, что высокий заголовок может быть и без тем.
Поэтому тебе нужно ориентироваться на то, что юзер может выставить любой размер заголовка.
AndreyProg (2005-05-29 20:49:00) [16]
> Gero © (29.05.05 17:30) [32]
Как это не имеет отнощения!
Запусти приложение сначала в классической теме, а затем в теме "стиль XP", и увижишь - заголоки становятся выше! Значит это определено в теме.
Gero (2005-05-29 17:30:00) [17]
> AndreyProg (28.05.05 13:42)
Высота заголовка окна никакого отношения к темам не имеет.
> vidiv © (28.05.05 16:48)
> Можно применить свой индивидуальный стиль для своего приложения?
Нет.
UxTheme служит исключительно для работы с текущей темой.
vidiv (2005-05-28 16:48:00) [18]А что еще полезного можно вытянуть из модуля UxTheme ? Можно применить свой индивидуальный стиль для своего приложения?
AndreyProg (2005-05-28 13:42:00) [19]
> Gero © (26.05.05 22:38) [25]
Спасибо за ссылку!
> gdaujk © (28.05.05 06:27) [29]
Напрягают потому что хочется сохранить стиль! Из эстетических соображениий и ещё:
у меня несколько приложений, работающих одновременно. Они с окнами одного размера, центрированными по середине экрана, но не занимают всю область экрана. Их окна расположены одно поверх другого. У одного("нижнего") приложения есть заголовоки окон, а у других - нету (borderstyle=bsnone). В Windows98 у меня все точно выверено и "на поверхности" видно только активное приложение. А в XP позади торчит полоска заголовка "нижнего" приложения.
Осюда весь сыр-бор.
gdaujk (2005-05-28 06:27:00) [20]А почему тебя напрягают размеры заголовков? Если у тебя в зависимости от них меняются размеры "клиентской" области окна (обычно при написанни на чистом API), просто измени их с учётом высоты заголовка окна = GetSystemMetrics(SM_CYCAPTION).