Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Высота строки в TDBGrid / 13 сообщений из 13, страница 1 из 1
25.05.2004, 16:33
    #32532938
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Можно ли в TDBGrid сделать так, чтобы если текст не влезает в данную ячейку, увеличивать высоту все строки, но только данной строки, а остальные строки (высоты их) не менять?
Примеры, найденные в Интернете, меняют высоты все строк (включая фиксированные) одинаково, что очень некрасиво.
...
Рейтинг: 0 / 0
25.05.2004, 16:35
    #32532944
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Стандарный ДБГрид , ентого вроде бы не умеет ...

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
25.05.2004, 21:27
    #32533460
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Ну не таким компонентом ничего не сделать?
...
Рейтинг: 0 / 0
25.05.2004, 21:28
    #32533462
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Пардон, должно было быть - неужели с таким компонентом ничего нельзя сделать?
...
Рейтинг: 0 / 0
25.05.2004, 23:19
    #32533570
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
в delphi так
defaultRowHeight
или
rowHeights[]
хотя может это в TSTRINGGRID не помню
...
Рейтинг: 0 / 0
26.05.2004, 15:16
    #32534835
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Спасибо, решение найдено. Может, кому интересно.
В своем каталоге разместить файл dbgrids.hpp и прописать в конце
Код: plaintext
__property RowHeights;
Потом в самом коде на OnDrawColumnCell прописать, например, такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
        int s;
        unsigned int F;
           int h = grid->Canvas->TextHeight(Column->Field->Text);
           int l = grid->Canvas->TextWidth(Column->Field->Text);
           int c_l = Column->Width;
           if (l > c_l)
                {
           //Во сколько раз увеличить строку
                s = (int) (l / c_l +  1 );
                F = DT_LEFT | DT_WORDBREAK;
                }
           else
                {
                s =  1 ;
                F = DT_SINGLELINE | DT_LEFT;
                }
           grid->RowHeights[proc->RecNo] = h * s;
           RECT r;
        r.left = Rect.Left +  1 ;
        r.right = Rect.Right -  1 ;
        r.top = Rect.Top +  1 ;
        r.bottom = Rect.Bottom;
        grid->Canvas->FillRect(Rect);
           DrawText(grid->Canvas->Handle, Column->Field->Text.c_str(),
                Column->Field->Text.Length(), &r, F);
...
Рейтинг: 0 / 0
26.05.2004, 15:22
    #32534864
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Понятно , так и думал , что что то дописывать надо :)

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
27.05.2004, 00:31
    #32535699
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
А мне, честно говоря, странно, почему высоту строки надо было зашивать "намертво" - неужеди у разработчиков VCL Не возникло мысли, что кому-то может не понравится предложенная высота строки?
...
Рейтинг: 0 / 0
27.05.2004, 10:46
    #32536072
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Ну не все же сразу продумаешь :)



 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
27.05.2004, 14:41
    #32536846
DarkCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Ваще-та предложенная высота строки запрасто сама меняется при изменении размера шрифта в гриде.

...
Рейтинг: 0 / 0
27.05.2004, 17:32
    #32537330
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Осмелюсь напомнить, что вопрос был не в том, меняется ли высота строки в зависимости от шрифта, а могу ли я изменить ее произвольно - т.е. например, отобразить в ячейке несколько строк. При чем тут шрифт?
...
Рейтинг: 0 / 0
27.05.2004, 17:38
    #32537345
DarkCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Клювик, какой же ты мелочный товарищ - будет теперь до каждого слова докапываться.

И ваще, харош мямлить. Будь мужчиной в конце концов!

...
Рейтинг: 0 / 0
28.05.2004, 01:42
    #32537775
Клювик
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высота строки в TDBGrid
Позвольте, позвольте!
Оттого, что мой ник мужского рода, это еще не значит, что я мужчина!
И главное, где я тут мямлю, в конце концов?!!!
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Высота строки в TDBGrid / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]