Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker Hacker

Dark-forum

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Dark-forum » Исходные коды » Как добавить битмапы в заголовок ListView.


Как добавить битмапы в заголовок ListView.

Сообщений 1 страница 20 из 659

1

Как добавить битмапы в заголовок ListView.

Компилятор: C++ Builder

Для этого достаточно просто добавить в стиль заголовка ListView флаг HDF_BITMAP:

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
    //Получаем дескриптор заголовка
    HWND HeaderHandle = GetDlgItem(ListView1->Handle, 0);

    //Структура элемента заголовка
    HD_ITEM hdi;

    for (int index = 0; index < ListView1->Columns->Count; index++)
    {
        //Получаем текущий формат
        Header_GetItem(HeaderHandle, index, &hdi);

        hdi.mask = HDI_TEXT | HDI_FORMAT | HDI_BITMAP | HDI_WIDTH;

        //Флаги для битмапа
        hdi.fmt = hdi.fmt | HDF_LEFT | HDF_BITMAP | HDF_STRING;
        hdi.pszText = ListView1->Columns->Items[index]->Caption.c_str();
        hdi.cchTextMax = ListView1->Columns->Items[index]->Caption.Length();
        hdi.cxy = ListView1->Columns->Items[index]->Width;
       
        switch(index)
        {
            case 0: hdi.hbm = Image1->Picture->Bitmap->Handle;
                    break;
            default: hdi.hbm = Image2->Picture->Bitmap->Handle;
                     break;
        }

        //Применяем изменения
        Header_SetItem(HeaderHandle, index, &hdi);
    }
}

Если необходимо изменить размер заголовка, чтобы добавить в него битмапы большего размера, то необходимо изменить размер шрифта в большую сторону. Если же при этом нужно сохранить маленький размер шрифта, то прийдётся включить этот текст в картинку, либо самостоятельно рисовать (owner-drawn) заголовок.

2

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

3

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

4

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

5

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

6

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

7

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

8

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

9

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

10

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

11

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

12

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

13

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

14

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

15

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

16

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

17

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

18

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

19

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

20

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.


Вы здесь » Dark-forum » Исходные коды » Как добавить битмапы в заголовок ListView.


Рейтинг форумов | Создать форум бесплатно