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

Вниз

Stringgrid (выравнивание в ячейке)   Найти похожие ветки 

 
Alexxx   (2004-06-07 10:46) [0]

Здравствуйте, мастера.
Вопрос: как в стринггриде в ячейках выравнять текст (по центру)? Что-то я не нашёл..


 
V-Isa   (2004-06-07 10:49) [1]

Рисуй на канве :-)


 
Alexxx   (2004-06-07 10:51) [2]

а без канвы никак?


 
V-Isa   (2004-06-07 10:54) [3]

Пробуй выравнять пробелами.


 
Alexxx   (2004-06-07 10:59) [4]

"Пробуй выравнять пробелами."
Сссспассссибо... :)

А если с канвой работать, то как, не переделывая весь код (у меня все гриды обычные - без заморочек с канвой), легко и просто сделать выравнивание? Может есть метод и я зря боюсь канву?


 
Amoeba ©   (2004-06-07 11:06) [5]

Обработчик события OnDrawCell + F1

Если не хочешь делать сам ручками, то на http://www.torry.net ищи подходящий готовый компонент.


 
Alexxx   (2004-06-07 11:24) [6]

Читаю, читаю... Вот что нашёл:

"Предложенный код подходит только для тех случаев, если у вас нет специального форматирования выводимого текста в полях таблицы, если у вас нет выравнивания по правому краю или центру и т.д.
Потому что методом TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text); вы рисуете в определенных координатах текст, который содержится в текущей строке текущего поля и больше ничего... Все внутреннее форматирование будет потеряно. Для его восстановления вам будет необходимо проверять, какое установлено выравниваение и т.д., самим пересчитывать координаты вывода текста в прямоугольнике. В общем, это не сложная задача,  но только зачем делать то, что прекрасно умеет делать сам DBGrid ?"

Если DBGrid умеет выравнивать, то может умеет и Stringgrid? Или я неправильно понял этот кусочек текста? (взято отсюда: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168&mode=print)


 
pasha_golub ©   (2004-06-07 11:37) [7]

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


 
Alexxx   (2004-06-07 12:11) [8]

Всем спасибо.. сделал таки с канвой (попытался максимально упростить код и вот что вышло:)

procedure TCoefrezult.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin

with Sender as TStringGrid, Canvas do
 begin
    fillrect(rect);
    SetTextAlign(Handle, TA_CENTER);
   TextOut(round((Rect.right+Rect.left)/2), Rect.Top+2, Cells[aCol, aRow]);
  end;
end;


Самое интересное - работает! :)



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

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

Наверх





Память: 0.46 MB
Время: 0.044 c
1-1086324889
Алекс
2004-06-04 08:54
2004.06.20
народ программа вылетает - непонятно какая ошибка,помогите разобр


1-1086674669
Yurec66
2004-06-08 10:04
2004.06.20
Дата сервера Netware


4-1084450714
senator
2004-05-13 16:18
2004.06.20
Отправка факса из программы


14-1085639051
Романов Р.В.
2004-05-27 10:24
2004.06.20
Попробуем провести небольшую олимпиаду


9-1077523374
Saturn
2004-02-23 11:02
2004.06.20
Очистка Image.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский