FreeBasic
Главная
Вход
Регистрация
Пятница, 19.04.2024, 19:51Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Исходники » Получения цвета фона окна
Получения цвета фона окна
ShadExДата: Вторник, 25.09.2012, 21:49 | Сообщение # 1
Лейтенант
Группа: Проверенные
Сообщений: 51
Репутация: 1
Статус: Offline
Code

#Include "window9.bi"

function GetWinBgColor(hWnd as HWND) as Integer
    Dim As Byte Ptr sbuff = New Byte[41]
    Dim As Any Ptr gcl = GetClassLong(hWnd,GCL_HBRBACKGROUND)
    GetObject(gcl,41,sbuff)
    Return Peek(Long,sbuff+4)
end function

hMain = OpenWindow("Тест",300,300,645,270)
If hMain = 0 Then End 1
WindowColor(hMain, &hFF7700)

Print Hex(GetWinBgColor(hMain))
Sleep


P.S.: перед получением цвета сначала нужно установить цвет, так как без этого почему-то в результате будет черный цвет, хотя по-умолчанию в окне установлен серый (&hD7D7D7)
 
haavДата: Вторник, 25.09.2012, 22:16 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
У меня показывает правильно без установки цвета

----------------------------Добавлено позже

Хотя нет показывает чисто белый цвет, вместо серого. Надо будет потом посмотреть, сейчас уже голова не варит


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
haavДата: Среда, 26.09.2012, 07:32 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Судя по всему этот трабл у всех пока не установишь цвет окна , будет на XP возвращать 0 , на семерке -1

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
ShadExДата: Среда, 26.09.2012, 23:01 | Сообщение # 4
Лейтенант
Группа: Проверенные
Сообщений: 51
Репутация: 1
Статус: Offline
Ну да, вот поэтому у меня чёрный, а у тебя белый фон, конечно можно в функции OpenWindow автоматически задавать цвет по-умолчанию, но и без этого можно обойтись.
 
Форум » Freebasic » Исходники » Получения цвета фона окна
  • Страница 1 из 1
  • 1
Поиск: