Как поменять цвет ScrollBar'a
От: DelphiLexx Россия  
Дата: 28.06.11 09:06
Оценка:
Здравствуйте. Скажите, пожалуйста, как можно поменять цвет ScrollBar'a (полоски, ползунка и т.п.)
на стандартных компонентах Delphi (TMemo, TTreeView, TDBGrid и т.д.)
Re: Как поменять цвет ScrollBar'a
От: Centaur Россия  
Дата: 28.06.11 12:26
Оценка: 1 (1)
Здравствуйте, DelphiLexx, Вы писали:

DL>Здравствуйте. Скажите, пожалуйста, как можно поменять цвет ScrollBar'a (полоски, ползунка и т.п.)

DL>на стандартных компонентах Delphi (TMemo, TTreeView, TDBGrid и т.д.)

Лучше всего никак.
Re[2]: Как поменять цвет ScrollBar'a
От: DelphiLexx Россия  
Дата: 30.06.11 13:17
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Лучше всего никак.

Почему?
Если действительно никак не получиться, то быть может
можно сделать их плоскими?
Re[3]: Как поменять цвет ScrollBar'a
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 30.06.11 14:00
Оценка:
Здравствуйте, DelphiLexx, Вы писали:

C>>Лучше всего никак.

DL>Почему?
DL>Если действительно никак не получиться, то быть может
DL>можно сделать их плоскими?

Ну если очень хочется — то можно

type  
  TColorScrollBar=class(TScrollBar)   
  private  
   procedure CNCtlColorScrollBar(var Msg:TMessage);message CN_CtlColorScrollBar;   
  published  
   property Color;   
  end;   
    
procedure TColorScrollBar.CNCtlColorScrollBar(var Msg:TMessage);   
begin  
  DefaultHandler(Msg)   
end;



А вот плоские скроллбары — их там есть:
здесь
здесь

Вот только рулить всем этим хозяйством придется самому(т.е. перемещать, реагировать на мышь и клавиатуру и т.п.) Оно тебе надо?
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[3]: Как поменять цвет ScrollBar'a
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 30.06.11 14:06
Оценка:
Здравствуйте, DelphiLexx, Вы писали:

DL>Если действительно никак не получиться, то быть может

DL>можно сделать их плоскими?

В принципе можно провернуть на WinAPI. Вот код который делает скроллбар у TMemo плоским:

//инициализация
InitializeFlatSB(Memo1.Handle);
FlatSB_SetScrollProp(Memo1.Handle,WSB_PROP_VSTYLE,FSB_FLAT_MODE,false);


Кстати можно менять цвет скроллбара (фоновый) — так:

InitializeFlatSB(Memo1.Handle);
FlatSB_SetScrollProp(Memo1.Handle,WSB_PROP_VBKGCOLOR,rgb(0,255,0),false);


Но тут тебе опять придется брать на себя дополнительную работу по обработке сообщений... Смотри в MSDN на тему FlatSB_xxxxx.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[3]: Как поменять цвет ScrollBar'a
От: Centaur Россия  
Дата: 30.06.11 15:48
Оценка:
Здравствуйте, DelphiLexx, Вы писали:

C>>Лучше всего никак.

DL>Почему?
DL>Если действительно никак не получиться, то быть может
DL>можно сделать их плоскими?

Не то чтобы не получится, просто этого не нужно делать, потому что это доставляет неудобства пользователю.
Re[4]: Как поменять цвет ScrollBar'a
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 30.06.11 16:05
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Здравствуйте, DelphiLexx, Вы писали:


C>>>Лучше всего никак.

DL>>Почему?
DL>>Если действительно никак не получиться, то быть может
DL>>можно сделать их плоскими?

C>Не то чтобы не получится, просто этого не нужно делать, потому что это доставляет неудобства пользователю.


Ну задачи-то — они разными бывают. Хотя да, в обычной прикладной программе я бы все сделал по стандарту, а не морочил бы себе голову дополнительными вопросами.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[5]: Как поменять цвет ScrollBar'a
От: Centaur Россия  
Дата: 30.06.11 16:13
Оценка:
Здравствуйте, DarkMaster, Вы писали:

C>>Не то чтобы не получится, просто этого не нужно делать, потому что это доставляет неудобства пользователю.


DM>Ну задачи-то — они разными бывают. Хотя да, в обычной прикладной программе я бы все сделал по стандарту, а не морочил бы себе голову дополнительными вопросами.


Когда задачи разные — вопросы тоже разные. Например, «как реализовать скроллбар для библиотеки интерфейса под OpenGL (пишу игру)». А если в программе можно применить стандартные контролы, так и нужно их применять без выпендрёжей.
Re[6]: Как поменять цвет ScrollBar'a
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 01.07.11 07:37
Оценка:
Здравствуйте, Centaur, Вы писали:

C>>>Не то чтобы не получится, просто этого не нужно делать, потому что это доставляет неудобства пользователю.


DM>>Ну задачи-то — они разными бывают. Хотя да, в обычной прикладной программе я бы все сделал по стандарту, а не морочил бы себе голову дополнительными вопросами.


C>Когда задачи разные — вопросы тоже разные. Например, «как реализовать скроллбар для библиотеки интерфейса под OpenGL (пишу игру)». А если в программе можно применить стандартные контролы, так и нужно их применять без выпендрёжей.


Ну дык топикстартер нам об этом ничего не сказал Вот я ему и вывалил варианты, а что он с ними дальше делать будет — его личное дело.
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[7]: Как поменять цвет ScrollBar'a
От: Centaur Россия  
Дата: 01.07.11 17:12
Оценка:
Здравствуйте, DarkMaster, Вы писали:

DM>Ну дык топикстартер нам об этом ничего не сказал Вот я ему и вывалил варианты, а что он с ними дальше делать будет — его личное дело.


Ну так а без контекста вопрос звучит как «Всем привет, я тут первый раз сел за Delphi, это круто! Я сразу покрасил все формы в разные прикольные цвета, и кнопки тоже покрасил, а скроллбар почему-то не могу ».
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.