Борьба со стилями Windows?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Борьба со стилями Windows?

Сообщение $Yastrebov$ » 20.04.2007 (Пт) 0:55

Как задать "Серебристый" стиль окна Windows только для своей программы?

Предположим у пользователя установлена цветовая схема: "Оливковая", а с дизайном моей программы это совсем не сочитается. Для дизайна подходит идеально цветовая схема: "Серебристая".

Предполагаю, что это можно с помощью какой-нибудь API, типа SetWindow и SendMessage. У кого какие идеи?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.04.2007 (Пт) 6:31

SetWindowTheme
Изображение

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 20.04.2007 (Пт) 14:30

Благодарю. А примерчика не найдется? Может где-нибудь завалялся?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 20.04.2007 (Пт) 14:55

MSDN
Обьявление:
Код: Выделить всё
Private Declare Function SetWindowTheme Lib "uxtheme" ( _
     ByVal hwnd As Long, _
     Optional ByRef pszSubAppName As String = " ", _
     Optional ByRef pszSubIdList As String = " ") As Long

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 20.04.2007 (Пт) 16:33

Фтопку такие программы, которые меняют юзерские темы, юзерские расширения экрана, юзерский WORKAREA, настройки звука, домашнюю страницу и тд.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 20.04.2007 (Пт) 17:11

Хакер
а разрешение экана-то почему?

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 20.04.2007 (Пт) 17:14

Я ведь сказал, что только для окна своей программы, а тема остается неизменной!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 20.04.2007 (Пт) 17:15

Да. А если бы она ещё и глобальный стиль меняла, тогда бы вообще было бы всё просто "отлично".
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 20.04.2007 (Пт) 17:22

Глобально менять - это неуважение к пользователю.

Нашел пример отключения темы для окна с использованием этой API, а вот с установкой "Серебристой" нигде нет. Может кто подкинет код?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 20.04.2007 (Пт) 21:29

ну ты осознай чего ты хочешь. ведь для этого потребуется ее загрузка uxtheme.dll. а это может быть выполнено только ко всем окнам. Да, и на некоторых компах 'серебристая' удалена.
В частности это явление часто встречается у пиратских систем.
Вывод: так нужно - 'рисуй' сам. :o

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.04.2007 (Сб) 11:23

Cytron писал(а):ну ты осознай чего ты хочешь. ведь для этого потребуется ее загрузка uxtheme.dll. а это может быть выполнено только ко всем окнам.

Бред.

Cytron писал(а):Да, и на некоторых компах 'серебристая' удалена.

А на некоторых компах вообще винды нет
А другие так и вообще выключены.
Ну и что дальше?

Cytron писал(а):Вывод: так нужно - 'рисуй' сам. :o

Ага, а лучше всего свою ОС написать. Для гарантии.
Изображение

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 21.04.2007 (Сб) 12:46

tyomitch
ну ладно, ладно, но ты бы лучше не меня критиковал а помог автору темы. :roll:

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 21.04.2007 (Сб) 13:12

1. Задать стиль Windows для отдельной программы невозможно. Можно лишь задавать для ее элементов свои цвета, выбирая их не из системных.

2. Люди с нарушенным зрением, а есть и такие могут вообще твою программу не оценить. Я знал, например, человека, который не мог играть в игры с какой либо динамикой - он просто очень плохо различал движущиеся объекты на экране. При этом был неплохим программистом... А с нарушенным цветовосприятием людей гораздо больше.

3. Твое красивое окошко может очень дико смотреться на фоне прочх окон юзера с его боевой раскраской - тебе не кажется?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.04.2007 (Сб) 13:45

Andrey Fedorov писал(а):1. Задать стиль Windows для отдельной программы невозможно. Можно лишь задавать для ее элементов свои цвета, выбирая их не из системных.

Тогда что, по-твоему, делает упомянутая SetWindowTheme?
Изображение

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 24.04.2007 (Вт) 15:35

Интересно, почему программа автора топика сочетается только с одним каким-то визуальным стилем? Может уважаемый автор еще не знает про InitCommonControls + ресурс 24 ?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.04.2007 (Вт) 15:47

Тогда топика вообще не существовало бы, не находишь?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 25.04.2007 (Ср) 10:37

А можно скриншот такого капризного дизайна программы? Просто интересно стало.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 25.04.2007 (Ср) 14:27

BV писал(а):А можно скриншот такого капризного дизайна программы? Просто интересно стало.

да, правда хотелось бы посмотреть

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 25.04.2007 (Ср) 21:54

А можно скриншот такого капризного дизайна программы? Просто интересно стало.

Да, конечно. Это касается именно последнего окна представленного по ссылке. Красное и синие совсем не сочетается.

Интерфейс программы - http://eo.yastrebov.biz/screen.php
Программа - http://eo.yastrebov.biz
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 25.04.2007 (Ср) 22:13

[offtopic] немм. ты что туда, картинки в BMP пихал?
сколько ты потратил на эту прогу времени?
PS прога при запуске вылетает: Active X Component cannot create object.
[/offtopic]

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 26.04.2007 (Чт) 0:41

Cytron писал(а):[offtopic] немм. ты что туда, картинки в BMP пихал?
сколько ты потратил на эту прогу времени?
PS прога при запуске вылетает: Active X Component cannot create object.
[/offtopic]


А можно получить скриншот ошибки на e-mail? Какая операционная система? Очень странно так как программа, тестировалась очень долго перед запуском и Вы первый, кто сообщил о какой-либо ошибке.
Я конечно могу предположить, что у Вас удалены стандартные Windows библиотеки, но тогда не запустится ни одна программа используящая их. В программе не используются сторонние контролы. Все контролы от VB включены в дистрибутив и проходят регистрацию в системе.

BMP конечно не бросал на формы :) Странно, что возник такой вопрос.

Писал долго.
Кто-то еще тестировал?

Да, мы немного отклонились от темы дизайна...
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 26.04.2007 (Чт) 9:18

$Yastrebov$ писал(а):Да, конечно. Это касается именно последнего окна представленного по ссылке. Красное и синие совсем не сочетается.


Не пойму что на последнем окне страшного что оно не будет смотретья в стандартной цвете. А фон у рисунка надо просто делать прозрачным. Тот же GIF...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 26.04.2007 (Чт) 11:31

Andrey Fedorov писал(а):Не пойму что на последнем окне страшного что оно не будет смотретья в стандартной цвете. А фон у рисунка надо просто делать прозрачным. Тот же GIF...


Что-то господа, Вы меня недооцениваете :lol: Фон у рисунков прозрачный. Но общий стиль программы, выполнен в четырех основных цветах: Красный (оранжевый), Серый, Белый, Черный. А тема по умолчанию с синей огранкой окна, по моему мнению, не сочетается с другими цветами. Это лишь мое мнение... Почему Вы пытаетесь меня переубедить? :)
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 26.04.2007 (Чт) 20:02

просмотри, есть ли у тебя, $Yastrebov$
C:\WINDOWS\System32\msdxm.oca
и если есть, пожалуйста, мне в PM
ответ по работе программы тебе послал на PM :)
Удалено по просьбе автора
Последний раз редактировалось Cytron 28.04.2007 (Сб) 22:51, всего редактировалось 1 раз.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 26.04.2007 (Чт) 22:41

просмотри, есть ли у тебя, $Yastrebov$
C:\WINDOWS\System32\msdxm.oca


Отправил в PM
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 27.04.2007 (Пт) 12:35

Это просто ужасная по виду программа. Ее невозможно юзать больше 1 минуты. Зачем изгаляться с таким раздражающим цветом?

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 27.04.2007 (Пт) 13:01

Это просто ужасная по виду программа. Ее невозможно юзать больше 1 минуты. Зачем изгаляться с таким раздражающим цветом?


Насколько я помню, на форуме запрещены личные оскорбления...
Проще всего обо..рать другого... :lol: Смешно...
На вкус и цвет... Подобные мнения нужно оставлять при себе, а если уже и высказывать, ИМХО, то как минимум, в более деликатной форме...(если целью нет оскорбить автора)
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 28.04.2007 (Сб) 10:40

Это не личное оскробление. Это выражение мнения по поводу данной программы.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 28.04.2007 (Сб) 14:00

Это выражение мнения по поводу данной программы.

Тогда это все объясняет!

Скажите, пожалуйста, какие цвета порекомендовали бы Вы и какие цвета было приятно увидеть Вам?
Дело в том, что в дизайне программы, я старался уйти от стандартных серых форм, к котырым мы все так привыкли и с которыми, большенство не хочет расставаться. Предполагаю, что для кого-то, в том числе, и для Вас - это выглядит слишком пестро. Возможно стоит сделать "скины", а программу оставить в серенькой классике. Буду благодарен за Ваш ответ.

Хотелось бы узнать и у других: Какое сочетание цветов для Вас наиболее преемлемо?

Продолжаем тему стилей...
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 28.04.2007 (Сб) 14:05

Я считаю, что идеаленьно оформление, у ... Nero, Photoshop-а наприме.

Вобщем, я думаю что надо использовать тот интерфейс, который нравится пользователю. А пользователю нравится тот интерфейс, какая тема у него выбрана в системе.

А программы, которые будут что-то решать за меня, без моего желания:
Фтопку такие программы, которые меняют юзерские темы, юзерские расширения экрана, юзерский WORKAREA, настройки звука, домашнюю страницу и тд.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Mail.ru [бот], Yandex-бот и гости: 23

    TopList