Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > общее по гриду


Автор: kuvshinka 6.1.2010, 01:02
подскажите пож-та как в стрингриде можно:
1. вводить текст в одну ячейку в неск-ко строк (возможно с автомат-им переносом текста при достижении конца строки)
2. программно изменять ширину/высоту ячеек при манипуляциях пользователя с верт./гориз-ми разделителями ячеек
3. выделять текст (его выделенный фрагмент) в выбранной пользователем ячейке цветом, задавать ему шрифт (размер, тип (курсив/жирный)и т.п.)

Автор: artsb 6.1.2010, 11:18
Цитата(kuvshinka @  6.1.2010,  01:02 Найти цитируемый пост)
1. вводить текст в одну ячейку в неск-ко строк (возможно с автомат-им переносом текста при достижении конца строки)

Отображать поверх грида, например, Мемо и вводить в него текст. А когда Мемо теряет фокус, переносите текст в соответствующую ячейку.

Цитата(kuvshinka @  6.1.2010,  01:02 Найти цитируемый пост)
2. программно изменять ширину/высоту ячеек при манипуляциях пользователя с верт./гориз-ми разделителями ячеек

У грида в свойстве Options есть флаги goRowSizing и goColSizing, отвечающие за разрешение или запрет изменения размеров строк и столбцов соответственно.
Программно можно так:
Код

((TCustomDrawGrid *)StringGrid1)->ColWidths[0] = 50; // ширина первого столбца 50
((TCustomDrawGrid *)StringGrid1)->RowHeights[0] = 60; // высота первой строки 60


Цитата(kuvshinka @  6.1.2010,  01:02 Найти цитируемый пост)
3. выделять текст (его выделенный фрагмент) в выбранной пользователем ячейке цветом, задавать ему шрифт (размер, тип (курсив/жирный)и т.п.)

Отрисовывать вручную. Событие OnDrawCell.

Автор: Лена 6.1.2010, 11:26
Еще как вариант найдите в сети: http://www.tmssoftware.com/site/advgrid.asp этот грид может все практически без написания кода.

Автор: kuvshinka 6.1.2010, 23:17
Лена: вроде проинсталлировала сей компонент в свой VCL....ghb попытке использовать этот грид компилятор не находит AdvGrid.h, BaseGrid.h в папке C:\Program Files\Borland\CBuilder6\Lib\ADVSTRINGGRIDC6 ... там только есть такие hpp, dcu, res, obj -файлы...
а хидеров вообще нет...может я проинсталлировала что не так....

Автор: Лена 9.1.2010, 13:18
Цитата(kuvshinka @  6.1.2010,  23:17 Найти цитируемый пост)
а хидеров вообще нет


А какже ваша цитата:
Цитата(kuvshinka @  6.1.2010,  23:17 Найти цитируемый пост)
есть такие hpp,


hpp это и есть хидеры.
Вот и добавте вместо h->hpp в проекте.
#include AdvGrid.hpp





Автор: kuvshinka 10.1.2010, 21:30
в файле uxtheme.h (я его не трогала вообще) пишет "need an identifier to declare" на фрагментах:
Код

typedef enum THEMESIZE
{
    TS_MIN,             // minimum size
    TS_TRUE,            // size without stretching
    TS_DRAW,            // size that theme mgr will use to draw part
};

.........


typedef enum PROPERTYORIGIN
{
    PO_STATE,           // property was found in the state section
    PO_PART,            // property was found in the part section
    PO_CLASS,           // property was found in the class section
    PO_GLOBAL,          // property was found in [globals] section
    PO_NOTFOUND         // property was not found
};

Автор: Лена 10.1.2010, 22:37
http://www.delphigroups.info/3/1/54000.html


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)