Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Многострочность и StringGrid   Найти похожие ветки 

 
wah ©   (2009-08-31 01:05) [0]

Мучаюсь с выделенной ячейкой, в которой текст не переносится. Пока додумался только подставлять Memo.
Может кто-нить подскажет решение через API или VCL?
Это в общем по статье Павла Голубя. Там через DrawText, но если ячейку выбрать, то текст снова в одну строку.
С ув.


 
Германн ©   (2009-08-31 01:50) [1]


> wah ©   (31.08.09 01:05)
>
> Мучаюсь с выделенной ячейкой, в которой текст не переносится.
>

Статью не читал (или читал, но не помню). А действительно так нужен "многострочный текст" в ячейке StringGrid?
А что именно не получается "через DrawText"?


 
KilkennyCat ©   (2009-08-31 02:48) [2]


> но если ячейку выбрать, то текст снова в одну строку.

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


 
KilkennyCat ©   (2009-08-31 02:50) [3]


> А действительно так нужен "многострочный текст" в ячейке
> StringGrid?

И действительно... нафига? Надо сказать Микрософтовцам, чтоб из екселя выкинули.
Не поленюсь, приведу простой пример. Бухгалтерские бланки. Собственно, там ваще все примеры в одной куче...


 
Германн ©   (2009-08-31 02:53) [4]


> KilkennyCat ©   (31.08.09 02:48) [2]
>
>
> > но если ячейку выбрать, то текст снова в одну строку.
>
> О чем в конце статьи сказано.
> И это понятно - редактирование это уже как там... имплэйт
> эдитор (? непомню точную формулировку) работает. И если
> хочется все, то надо его подменить своим, а-ля мемо.
>

InplaceEdit если точно.
Могу дать код. Возможно требует доработки.


 
wah ©   (2009-08-31 04:57) [5]

Спасибо за обсуждение.

> [4] Германн ©   (31.08.09 02:53)
> А что именно не получается "через DrawText"?

У меня при щелчке по строке, ее высота увеличивается для того, чтобы был виден весь текст. С DrawText получилось всю строку кроме выделенной ячейки сделать с переносом. Я делал сначала с подставой мемо во все ячейки, но она мигает, прыгает... Не понравилось в общем.

> Могу дать код. Возможно требует доработки.
Было бы здорово.


 
Германн ©   (2009-09-01 01:13) [6]


> wah ©   (31.08.09 04:57) [5]
>
> Спасибо за обсуждение.
>
> > [4] Германн ©   (31.08.09 02:53)
> > А что именно не получается "через DrawText"?
> У меня при щелчке по строке, ее высота увеличивается для
> того, чтобы был виден весь текст. С DrawText получилось
> всю строку кроме выделенной ячейки сделать с переносом.
> Я делал сначала с подставой мемо во все ячейки, но она мигает,
>  прыгает... Не понравилось в общем.

Показывай как пробовал. И не забудь дать ссылку на вышеупомянутую статью.


> > Могу дать код. Возможно требует доработки.
> Было бы здорово.

Здорово не будет. Это имхо не та задача.


 
wah ©   (2009-09-01 10:41) [7]

> [6] Германн ©   (01.09.09 01:13)
> Показывай как пробовал.

в DrawCell
 if MyGrid.Cells[0,ARow] = FormatDateTime("dd.mm",Today) then // ячейку "сегодня" другим цветом
 begin
   MyGrid.Canvas.Brush.Color := DayColor;
   MyGrid.Canvas.FillRect(MyGrid.CellRect(0, ARow));
   MyGrid.Canvas.TextOut(MyGrid.CellRect(0, ARow).Left+2,
       MyGrid.CellRect(0, ARow).Top+2, MyGrid.Cells[0, ARow]);
 end;


в SelectCell
 Memo1.Visible := false;
 MyGrid.DefaultRowHeight := 16;
 MyGrid.RowHeights[MyGrid.Row] := MyGrid.DefaultRowHeight  * 4;
 MyRect := MyGrid.CellRect(2, MyGrid.Row);
 Memo1.Text := MyGrid.Cells[2, MyGrid.Row];
 Memo1.Left := MyRect.Left + MyGrid.Left+4;
 Memo1.Top := MyRect.Top + MyGrid.Top+4;
 Memo1.Width := MyRect.Right - MyRect.Left-2;
 Memo1.Height := (MyRect.Bottom - MyRect.Top-2);
 Memo1.Visible := true;

Было три штуки Memo. Видимо я что-то не то сделал, потому что перерисовывался весь грид и поэтому "подмигивал". Сейчас доделаю новый вариант и доложу.

> И не забудь дать ссылку на вышеупомянутую
> статью.

http://www.delphimaster.ru/articles/stringgrid/index.html



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

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
15-1249924710
Германн (из Бердянска)
2009-08-10 21:18
2009.10.25
Программка для логирования (учета) траффика


2-1251976660
timekiller
2009-09-03 15:17
2009.10.25
Файл - Из консоли


9-1182962956
Dib@zol
2007-06-27 20:49
2009.10.25
Многоугольник


2-1251037909
Начинающий17
2009-08-23 18:31
2009.10.25
работа с файлом


2-1251459678
Роман
2009-08-28 15:41
2009.10.25
Остановка работы приложения