Поиск:

Ответ в темуСоздание новой темы Создание опроса
> КАК разбить заголовок столбца на 2 строки, заголовок столбца 
:(
    Опции темы
ura5
Дата 12.6.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



Код
DBGridPer->Columns->Items[0]->Title->Caption="Название государства, откуда выезжаешь"; 


Кто знает ,как разбить этот заголовок на 2 строки.Допустим,чтобы  было написано

Название государства,
 откуда выезжаешь

Спасибо
PM MAIL   Вверх
Rodman
Дата 12.6.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Код

DBGridPer->Columns->Items[0]->Title->Caption="Название государства," + sLineBreak + " откуда выезжаешь"; 


так не поможет?!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ura5
Дата 12.6.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



[C++ Error] : E2085 Invalid pointer addition-ошибку выдает
PM MAIL   Вверх
Fazil6
Дата 12.6.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

        AnsiString s("Название государства, откуда выезжаешь");
        int p = AnsiPos(",", s);
        if(!p) return ;

        AnsiString s1(s.c_str(), p );
        AnsiString s2(s.c_str() + p);

        ShowMessage(s1);
        ShowMessage(s2);


PM MAIL   Вверх
ura5
Дата 12.6.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



DBGridPer->Columns->Items[0]->Title->Caption="Название государства, откуда выезжаешь"; 

Спасибо.Я пишу как показано выше.
Как Вы предлагаете,не знаю как и влепить сюда.Мне надо заголовок поля таблицы выдать на экран в виде 2-х строк по той причине,чтобы не была длинная строка под это поле.Всего полей у меня 18.
Разве что так 

Код
AnsiString s("Название государства, откуда выезжаешь");
        int p = AnsiPos(",", s);
        if(!p) return ;

        AnsiString s1(s.c_str(), p );
        AnsiString s2(s.c_str() + p);

        ShowMessage(s1);
        ShowMessage(s2);

DBGridPer->Columns->Items[0]->Title->Caption=s";  




PM MAIL   Вверх
ura5
Дата 13.6.2007, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



Fazil6 !
У меня вопрос:
Код
AnsiString s("Название государства, откуда выезжаешь");
        int p = AnsiPos(",", s);
        if(!p) return ;

        AnsiString s1(s.c_str(), p );
        AnsiString s2(s.c_str() + p);

DBGridPer->Columns->Items[0]->Title->Caption=s1;
DBGridPer->Columns->Items[0]->Title->Caption=s2; 


Сделала я ,как Вы предложили.Но в итоге в заголовоке столбца виден,естественно,только 2-й кусок 
названия--'откуда выезжаешь'.
А мне нужен заголовок ,состоящий из 2-к строк .
Я ТАК ДЕЛАЮ,ПОТОМУ ЧТО ДЛИННОЕ НАЗВАНИЕ



PM MAIL   Вверх
ura5
Дата 13.6.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



DBGridPer->Columns->Items[0]->Title->Caption=s1+"\r\n"+s2;
Безрезультатно
PM MAIL   Вверх
Pendalf
Дата 13.6.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.4.2007

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



В DBGrid не получится так сделать.
Пользуйте библиотеку Ehlib или Rxlib.
По моему, так.

Это сообщение отредактировал(а) Pendalf - 13.6.2007, 17:04
PM MAIL   Вверх
ura5
Дата 14.6.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



А как ее подключить или использовать ?
PM MAIL   Вверх
jonie
Дата 14.6.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

А как ее подключить или использовать ?
установить соот. компоненты (это не часть делфи - это разработки сторонних компаний)
---
а как насчет порисовать самому? OnDrawColumnCell обработчик..... собственно рисуйте хоть по диагонали....


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ura5
Дата 15.6.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 12.4.2007

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



Не знаю совсем с++ builder.Наверное,это сложно.Мне гораздо проще пользоваться готовым инструментом DBGrid.Мне надо было просто из 12 полей укоротить ЗАГОЛОВКИ всего в 2-х полях.
Только заголовки ,а не содержимое полей.Из-за этого не стоит ,я думаю ,пользоваться 
событием OnDrawColumnCell .
Если есть маленький пример по этому событию(рисовать) -дайте,буду благодарен.
PM MAIL   Вверх
jonie
Дата 15.6.2007, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

а как насчет порисовать самому? OnDrawColumnCell обработчик..... собственно рисуйте хоть по диагонали....
зачеркнуть - это не поможет, к сожалению. ибо компонент рисует заголовки по-своему....
подглядел в делфи как....
Код

procedure TCustomDBGrid.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);
......
  procedure DrawTitleCell(ACol, ARow: Integer; Column: TColumn; var AState: TGridDrawState); {да, процедура внутри процедуры - т.е. перегрузить ее нет возможности( }
  begin
    .... тут вычисление RECT-а вывода = CalcTitleRect(), и вывод с помощью WriteText()  -- а она вообще глобальная....
  end;
....
end;

т.о. можно (я пологаю) сделать свой компонент на делфях, переписав  WriteText() и CalcTitleRect() ну и еще дохрена переписав попутно... 8)

или как вариант использовать иной контрол , почитайте там http://www.sdteam.com/?tid=405
компоненты, как я пологаю подойдут, придется только хедеры получить (а может они уже есть в комплекте)....
иных спсобов я не вижу.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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