On-line: alex_II, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 7460
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.07.23 00:26. Заголовок: Как узнать цвет фона титула окна ?


Потребовалось узнать цвет фона титула окна. Как это сделать ?
Есть такая функция, Григорий давал.
Function RowColColorRGB(y,x,hWin)  
LOCAL hdc, cMsg, aColor := {0,0,0}
DEFAULT hWin := ThisWindow.Handle

hdc := GetDC( hWin )
IF GetPixelColor( hdc, x, y, @aColor )
cMsg := "RGB (" ;
+ " r:" + str(aColor[1], 3 ) ;
+ " g:" + str(aColor[2], 3 ) ;
+ " b:" + str(aColor[3], 3 ) ;
+ " )"
ENDIF
ReleaseDC( hWin, hdc )

Return aColor

Делаю запрос цвета в ON INIT формы:
   aTitleBClr := RowColColorRGB(5,105,ThisWindow.Handle)  // цвет титула 
SetProperty(cForm, "LblBottom2", "Backcolor", aTitleBClr)

Цвет фона - черный. Почему, что не так делаю ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 8 [только новые]


постоянный участник




Пост N: 7461
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.07.23 17:24. Заголовок: Спасибо Григорий за ..


Спасибо Григорий за наводку - SAMPLES\Advanced\ComboColor
Но что-то цвета не совпадают... или я не то беру...
У меня зелёный цвет фона титула окна, а в примере другой показывается.

Как тогда узнать нужный цвет ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2172
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.07.23 17:43. Заголовок: Andrey пишет: Но чт..


Andrey пишет:

 цитата:
Но что-то цвета не совпадают


Эта функция не работает для Винды 10/11

Подробности см. здесь
click here

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7462
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.07.23 18:01. Заголовок: Понял, СПАСИБО ! :s..


Понял, СПАСИБО !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7467
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.23 11:53. Заголовок: Вот нашёл цвета. Мож..


Вот нашёл цвета.
Может кому будет интересно.

Основной цвет из этого списка можно получить через ключ реестра:
Компьютер\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\DWM\AccentColor
Цвет хранится в следующем формате:
1. Прозрачность
2. Синий
3. Зелёный
4. Красный
При изменении цвета всем окнам отправляется событие WM_SETTINGCHANGE:
https://learn.microsoft.com/en-us/windows/win32/winmsg/wm-settingchange

Узнать включена тёмная тема или нет при помощи ключа:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize\AppsUseLightTheme
0 - тёмная тема
1 - светлая тема

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7468
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.23 15:13. Заголовок: А программы на МиниГ..


А программы на МиниГуи в темной теме Windows - белые, т.е. титул окна белый.
Фигово...

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7469
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.23 20:40. Заголовок: Модифицировал пример..


Модифицировал пример SAMPLES\Advanced\ComboColor
Получилось вот так:

А как убрать кривой чекбокс совсем ?
Или исправить на правильный ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7470
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.07.23 22:24. Заголовок: Разобрался немного с..


Разобрался немного с темной темой.
Пример отправил Григорию.
Вот так в МиниГуи работает темная тема:


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2173
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.07.23 19:45. Заголовок: Andrey пишет: Приме..


Andrey пишет:

 цитата:
Пример отправил Григорию


Благодарю за обновленный пример

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 33
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет