![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Как в ListView изменить цвет columns со стандартоного clBtnFace на нечто другое ?
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Наверное поставить OwnerDraw в True и самому нарисовать))) У ListView множество различных событий ответственных за перерисовку. Есть из чего выбрать)))))))))))
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Ты знаешь я перерыл весь компонент ListView но события отвечающее за column'sы не нашёл. OwnerDraw не помогает. |
|||
|
||||
| B2_Russia |
|
|||
![]() В доску свой :) ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 3.7.2003 Где: Тверь Репутация: нет Всего: 1 |
По-моему у него (Column) даже HWND нету либо не найти. Скажете как найти HWND скажу как закрасить.
|
|||
|
||||
| Гость_Crash |
|
|||
|
Unregistered |
Да нет у него Handle и все тут!
пиши свой или спроси мож у кого есть готовый :-) |
|||
|
||||
| ziga |
|
|||
|
Unregistered |
primer koda v C++Builder. v Delphi pohozje.
pered FillRect u Canvas.Brush nado pomenjatj Color void __fastcall TFormTranslatorDlg::ListBoxLanguagesDrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State) { ListBoxLanguages->Canvas->Font->Charset = ListBoxLanguages->Font->Charset; ListBoxLanguages->Canvas->Font->Name = ListBoxLanguages->Font->Name; ListBoxLanguages->Canvas->Font->Size = ListBoxLanguages->Font->Size; ListBoxLanguages->Canvas->FillRect(Rect); ListBoxLanguages->Canvas->TextOut(Rect.Left+2, Rect.Top, ListBoxLanguages->Items->Strings[Index]); } |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Вообще речь то вроде о ListView а не о ListBox'е...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Согласен, но тогда вообще все окна в системе начинают перерисовываться...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
вот, надумал
далеко от совершенства, но все в ваших руках ;) лучше всего это засунуть в класс TListViewEx, посимпатишней тогда будет... и проще сделать, не нужно будет GetWindowLong, SetWindowLong... -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
cully Удивил! Слушай а там возле скролла кусок колонки не окрашевается.
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Вариант, который _почти_ устраняет этот недостаток (почти - потому что хэдер самой правой
колонки без названия рисуется хоть и нужным цветом, но с 3D рамкой...):
Можно в CDDS_PREPAINT сделать Result := CDRF_NOTIFYITEMDRAW + CDRF_NOTIFYPOSTPAINT, и тогда в case надо добавить CDDS_POSTPAINT и там попробовать что-нибудь поделать. -------------------- С уважением, г-н Посол. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
P0s0l а что нельзя их так перекрасить чтоб свойсво 3D не утрачивалось?
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Хэдеры с названиями ты можешь красить как угодно, хоть с 3D, хоть без 3D.
А вот самый крайний хэдер без названия почему-то получается только с 3D, без 3D - нельзя... Причем цвет 3D в нем идет от стандартного цвета, т.е. если ты захочешь рисовать заголовки, например, зеленым цветом, то 3D грани у крайнего хэдера будут немного выделяться... (в обычной цветовой схеме 3D грани серые, а не зеленоватые) -------------------- С уважением, г-н Посол. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Тогда как перекрасить Хэдеры с названиями в 3D ?
Ато там Flat тут 3d ну некрасиво. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |