![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
Подскажите пожалуйста,
можно ли средствами С# получить доступ (чтение) к системным параметрам оформления Windows - т.е. Свойства экрана, закладка Оформление ? Если можно то как (если можно пример) ? В процессе написания кода возникла необходимость учитывать эти параметры. Извините, за название темы - правильно : Как узнать системные параметры оформления Windows (копировал ![]() Это сообщение отредактировал(а) andrx - 14.2.2006, 17:43 --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 5 Всего: 186 |
Покопай в сторону API-функции GetSystemParametersInfo.
|
|||
|
||||
andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
Exception
желательно чтобы можно было докопаться ТОЛЬКО средствами C# ! API уже в безвыходном случае. --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 5 Всего: 186 |
Можно узнать конкретные параметры, которые тебе нужны?
|
|||
|
||||
andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
да, конечно
в "Свойствах экрана" эти параметры называются : 1. Полоска прокрутки, мне нужна ее ширина. 2. Граница активного (...неактивного) окна, также необходима ширина. Это сообщение отредактировал(а) andrx - 14.2.2006, 18:34 --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
См. WinAPI-шную функцию GetSystemMetrics, там всё (ну почти всё) можно узнать.
Код:
-------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 5 Всего: 186 |
[offtop]
Тебя чего-то в последнее время на русские буквы пробивает ![]() [/offtop] |
|||
|
||||
dronzo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.11.2005 Где: Москва Репутация: 1 Всего: 8 |
А что если посмотреть класс SystemInformation в System.Windows.Forms ? Ширина полосы прокрутки наверное будет SystemInformation.VerticalScrollBarWidth (по крайней мере значение совпадает с возвращаемым GetSystemMetrics). Как быть с шириной границы окна непонятно. Предполагал, что ширина границы окна SystemInformation.SizingBorderWidth или SystemInformation.BorderSize или SystemInformation.FrameBorderSize, но результат всё время отличается от того, что возвращает GetSystemMetrics
![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Смотря что нужно получить. А вообще Reflector-ом можно посмотреть, что там внутри класса SystemInformation... Скорее всего тот же GetSystemMetrics ![]() P.S. русский язык рулит ![]() -------------------- ![]() |
|||
|
||||
andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
Всем премного благодарен за участие!
dronzo Вы оказались правы, в System.Windows.Forms.SystemInformation действительно оказались все необходимые мне параметры, в том числе и граница окна - это FrameBorderSize, но с этим параметром дело обстоит так : его минимальное значение 4, если в свойствах экрана установить ширину границы окна 0, то FrameBorderSize=4, если же устанавливать ширину границы окна начиная с 1, то FrameBorderSize = 3 + ширина границы окна. (FrameBorderSize показывает ширину в пикселях, и даже если в свойствах экрана установить ширину границы окна 0 или 1, фактически она все равно составит 4 пикселя ) ! так что dronzo , спасибо, (пока что могу сказать только спасибо !) --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: нет Всего: 61 |
dronzo
+1 Молодец! |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |