Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ListView окраска текста и фона Item 
:(
    Опции темы
ZC1989
Дата 29.2.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: 1
Всего: 1



у меня рисуеться тебличка...нужно что бы хотя бы одсна строчка была выделена уникальна... что бы можно было менять цвет текста и фона...а то я нашёл функции что бы меня только общий фон и общий цвет текста...как такое сделать?


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
ZC1989
Дата 29.2.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: 1
Всего: 1



нащёл тут на форуме функция которая длает в принцыпе то что нужно....засунул её в NOTIFY...там 3 параметра...1 - LPNMLVCUSTOMDRAW  2 - данные о таблице   3 - цвета каждай ячецки..  2 и 3 параметры забить лехко...а вот первый...там ваще ересь...можно как то это получить программно? ну там через функцию какую...потому что не всё параметры задавал у меня без изменений...чёрное с белым..как обычное...(((( smile 


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
Alca
Дата 29.2.2008, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



Код

//---------------------------------------------------------------------------
void __fastcall TfrmMain::lvwReadInfoCustomDrawSubItem(TCustomListView *Sender, TListItem *Item, int SubItem, TCustomDrawState State, bool &DefaultDraw) {
    TListView *pLV = static_cast<TListView*>(Sender);
    ////DefaultDraw    = false;

    pLV->Canvas->Font->Color = clBlue;
    if (Item->Caption.SubString(0, 8) == "eToken #") {
        pLV->Canvas->Font->Color  = clRed;
        pLV->Canvas->Brush->Color = clYellow;
        pLV->Canvas->Font->Style  = TFontStyles() << fsBold;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::lvwReadInfoCustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, bool &DefaultDraw) {
    if (Item->Caption.SubString(0, 8) == "eToken #") {
        TListView *pLV = static_cast<TListView*>(Sender);
        ////DefaultDraw    = false;

        pLV->Canvas->Font->Color  = clRed;
        pLV->Canvas->Brush->Color = clYellow;
        pLV->Canvas->Font->Style  = TFontStyles() << fsBold;
    }
}
//---------------------------------------------------------------------------



Это сообщение отредактировал(а) Alca - 29.2.2008, 17:36


--------------------
PM WWW ICQ Skype Jabber   Вверх
ZC1989
Дата 29.2.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: 1
Всего: 1



Alca, прости, у меня Visual Studio....вообще половины переменных не определить...и от какого класса эти функции наследуються чтото то же смутно понятно))  можна как нибудь по другому это ? )))) smile 


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
Alca
Дата 2.3.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 5
Всего: 50



При размещении списка элементов класса CListCtrl в окошке ,произошедшем от CListView, столкнулся с проблемой. 
Как можно изменить, например background, неактивных элементов списка? 

Напиши класс производный от CListCtrl и в нем наследую функцию DrawItem, она рисует элементы. 
Потом создай CListView на основе нового класса 

Смотри MSDN:
Platgform SDK/User Interface Services/Windows Common Controls/List View Controls/Overview of List View Controls/List View Colors ...
точнее NM_CUSTOMDRAW 
 
Так яиспользовал для Дерева, но суть таже
Код

BEGIN_MESSAGE_MAP(
....
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw)
void CColorView::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult) 
{
NMTVCUSTOMDRAW* pTVCustomDraw = (NMTVCUSTOMDRAW*)pNMHDR;

*pResult = CDRF_DODEFAULT;

switch(pTVCustomDraw->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult |= CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT: 
pTVCustomDraw->clrText = RGB(0, 0, 255 - (25 * pTVCustomDraw->iLevel));
break;
}
}
 



--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0685 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.