Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

TStringGrid - срочно нужна консультация с автопереносом....   Найти похожие ветки 

 
Leon_M@ni@k   (2003-06-14 14:31) [0]

У меня есть StringGrid - но ячейки у него -фиксированной ширины
а вот высота свободно может варьироваться - и из-за этого у меня не все фразы влазят - (они ведб пишуться в одну строку)

1. МОЖНО ЛИ сделать автоперенос - типа как в Exele
2. Если нет - то чем лучше заменить
3. Как сохранить таблицу Grida в файл типа Exl или Word

Помогите пожалста - Диплом стоит !!!!!!!!!!!!!!


 
dataMaster   (2003-06-14 16:09) [1]

Вот в FAQ"ах нашел описание и кусок кода. Но на работоспособность я его не проверял...

Сперва необходимо установить свойство DefaultDrawing в False. Далее, необходимо вставить следующий код в обработчик события OnDrawCell:


procedure TForm1.StringGrid1DrawCell(Sender: TObject;
Col, Row: Longint;
Rect: TRect;
State: TGridDrawState);
var
Line1: string;
Line2: string;
ptr: integer;
padding: integer;
hGrid: TStringGrid;

begin
hGrid:= (Sender as TStringGrid);
ptr := Pos(";", hGrid.Cells[Col, Row]);
if ptr > 0 then
begin
Line1 := Copy(hGrid.Cells[Col, Row], 1, ptr - 1);
Line2 := Copy(hGrid.Cells[Col, Row], ptr + 1,
Length(hGrid1.Cells[Col,Row]) - ptr);
end
else Line1 := hGrid.Cells[Col, Row];
hGrid.Canvas.FillRect(Rect);
hGrid.Canvas.TextOut(Rect.Left, Rect.Top + 2, Line1);
if ptr > 0 then
hGrid.Canvas.TextOut(Rect.Left, Rect.Top -
hGrid.Canvas.Font.Height + 3, Line2);
end;

Теперь достаточно для переноса строки вставить в неё точку с запятой. Так же не забудьте изменить высоту строки так, чтобы переносы строки поместились в ячейку:

StringGrid1.RowHeights[0] := StringGrid1.DefaultRowHeight * 2 ;


 
Leon_M@ni@k   (2003-06-14 16:57) [2]

КОД - ОТЛИЧНЫЙ - СПАСИБО ))))
Осталась только 3-я проблема !! )


 
Song   (2003-06-14 22:01) [3]

1) DrawText()
3) Через буфер обмена передай в ворд или эксцель



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.028 c
1-84231
Dark Simpson
2003-06-13 02:46
2003.06.26
Как узнать параметры функции в DLL


14-84614
Vovchik_A
2003-06-04 11:10
2003.06.26
Спам !


14-84661
Malder
2003-06-10 12:13
2003.06.26
Просто нет слов


14-84587
Soul_Reaver
2003-06-09 03:05
2003.06.26
Компиляция программы


3-83886
Uran
2003-06-02 16:48
2003.06.26
DBF в рантайм.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский