{{notification.text}}

MirGames

27.01.08 00:49
0
Всем привет :)

Как изменить цвет (т.е. вместо обычного серого, скажем, зеленый) заданного элемента (в виндовых терминах окна)? Я думал, что это должно выглядеть как-нибудь так:
SendMessage(WindowID, WM_SETCOLOR, ...цвет..., 0);
но почему-то нужной константы не нашел. Можно ли такое сделать вообще?
#1
mov, просто mov
27.01.08 20:38
0
SetClassLong(handle, GCL_HBRBACKGROUND, нужная кисть);
#2
27.01.08 21:41
0
Сделал
Код

  Brush.ID := CreateSolidBrush(RGB(0, 255, 0));
  SetWindowLong(Element.ID, GCL_HBRBACKGROUND, Brush.ID);

ничего не изменилось. Я что-то делаю не так?
#3
mov, просто mov
27.01.08 23:10
0
Цитата
Element.ID

хендл ;)
#4
27.01.08 23:32
0
В winapi любой объект --- это хэндл :) Уж не знаю про какой ты хэндл, но могу конкретизировать
Код

  Element.ID := CreateWindowEx(0, 'STATIC', PAnsiChar(Caption),
                       WS_VISIBLE or WS_CHILD, 0, 0, 0, 0,
                       Window.Id, Window.High, 0, nil);
  Brush.ID := CreateSolidBrush(RGB(0, 255, 0));
....
  SetWindowLong(Element.ID, GCL_HBRBACKGROUND, Brush.ID);

Тот ли хендл передаю?

На параметры в функцию CreateWindowEx не обращайте внимания --- они изменяются в главном цикле, поэтому париться при инициализации нет смысла.
Отредактировано: 27.01.08 23:33
#5
mov, просто mov
27.01.08 23:40
0
visual
я тя ча убью ))

SetClassLong
а не
SetWindowLong
Отредактировано: 27.01.08 23:41
#6
28.01.08 00:08
0
Т.е. вот так?
Код

SetWindowLong(GetModuleHandle(CLASSName), GCL_HBRBACKGROUND, Brush.ID);

(Изменений все равно не произошло.)

Гм... применение ко всему классу очень неудобно. Нет ли способа изменить цвет самого элемента?
Отредактировано: 28.01.08 00:08
#7
mov, просто mov
28.01.08 00:56
0
visual
я же вроде нармальна сказал что имя функции не SetWindowLong а SetClassLong
Цитата

Гм... применение ко всему классу очень неудобно. Нет ли способа изменить цвет самого элемента?

читай мсдн :)
Отредактировано: 28.01.08 00:57
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}