Автор | Сообщение |
|
| постоянный участник
|
Пост 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) Цвет фона - черный. Почему, что не так делаю ?
|
|
|
Ответов - 8
[только новые]
|
|
|
| постоянный участник
|
Пост N: 7461
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.07.23 17:24. Заголовок: Спасибо Григорий за ..
Спасибо Григорий за наводку - SAMPLES\Advanced\ComboColor Но что-то цвета не совпадают... или я не то беру... У меня зелёный цвет фона титула окна, а в примере другой показывается. Как тогда узнать нужный цвет ?
|
|
|
|
| moderator
|
Пост N: 2172
Зарегистрирован: 11.02.10
|
|
Отправлено: 04.07.23 17:43. Заголовок: Andrey пишет: Но чт..
Andrey пишет: цитата: | Но что-то цвета не совпадают |
| Эта функция не работает для Винды 10/11 Подробности см. здесь click here
|
|
|
|
| постоянный участник
|
Пост N: 7462
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.07.23 18:01. Заголовок: Понял, СПАСИБО ! :s..
Понял, СПАСИБО !
|
|
|
|
| постоянный участник
|
Пост 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 - светлая тема
|
|
|
|
| постоянный участник
|
Пост N: 7468
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.23 15:13. Заголовок: А программы на МиниГ..
А программы на МиниГуи в темной теме Windows - белые, т.е. титул окна белый. Фигово...
|
|
|
|
| постоянный участник
|
Пост N: 7469
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.23 20:40. Заголовок: Модифицировал пример..
Модифицировал пример SAMPLES\Advanced\ComboColor Получилось вот так: А как убрать кривой чекбокс совсем ? Или исправить на правильный ?
|
|
|
|
| постоянный участник
|
Пост N: 7470
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.07.23 22:24. Заголовок: Разобрался немного с..
Разобрался немного с темной темой. Пример отправил Григорию. Вот так в МиниГуи работает темная тема:
|
|
|
|
| moderator
|
Пост N: 2173
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.07.23 19:45. Заголовок: Andrey пишет: Приме..
Andrey пишет: Благодарю за обновленный пример
|
|
|
|