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

Вниз

Можно ли в стринггрид выравнять по правому краю во 2ом столбике   Найти похожие ветки 

 
Infinityx93 ©   (2007-06-15 00:28) [0]

Можно ли в стринггрид выравнять по правому краю во 2ом столбике или строчке.
спасибо


 
MsGuns ©   (2007-06-15 00:35) [1]

можно


 
Anatoly Podgoretsky ©   (2007-06-15 00:37) [2]

> Infinityx93  (15.06.2007 00:28:00)  [0]

Можно


 
MsGuns ©   (2007-06-15 00:39) [3]

>Anatoly Podgoretsky ©   (15.06.07 00:37) [2]

;))))

С чувством глубокого удовлетворения пошел спатки ;)


 
Infinityx93 ©   (2007-06-15 00:44) [4]

и что никто не подскажет как ????


 
sniknik ©   (2007-06-15 02:01) [5]

нет.
(на этом можно было бы и закончить, но так и быть обьясню. в ущерб лаконичности)
ты разве спрашивал как? почитай вопрос, почитай ответ, все отвечено... на 100% точно. как в аптеке.


 
Infinityx93 ©   (2007-06-15 02:23) [6]

я понимаю что вы все программисты и отвечаете оч точно (как в анекдоте), но ведь все знают что я хотел получить в ответ и чего не получил.


 
{RASkov} ©   (2007-06-15 02:38) [7]

> [6] Infinityx93 ©   (15.06.07 02:23)

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


 
Anatoly Podgoretsky ©   (2007-06-15 07:34) [8]

> Infinityx93  (15.06.2007 02:23:06)  [6]

И что ты хотел, разве не узнать можно или нет?


 
DelphiWorld   (2007-06-15 08:10) [9]

Нижеприведенный код выравняет данные компонента по правому краю:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row:
 Longint; Rect: TRect; State: TGridDrawState);
var
 lRow, lCol: Longint;
begin
 lRow := Row;
 lCol := Col;
 with Sender as TStringGrid, Canvas do
 begin
   if (gdSelected in State) then
   begin
     Brush.Color := clHighlight;
   end
   else if (gdFixed in State) then
   begin
     Brush.Color := FixedColor;
   end
   else
   begin
     Brush.Color := Color;
   end;
   FillRect(Rect);
   SetBkMode(Handle, TRANSPARENT);
   SetTextAlign(Handle, TA_RIGHT);
   TextOut(Rect.Right - 2, Rect.Top + 2, Cells[lCol, lRow]);
 end;
end;



Хитрость заключается в установке выравнивания текста TA_RIGHT, позволяющей осуществлять вывод текста, начиная с правой стороны (от правой границы). Не бойтесь, текст не будет напечатан задом наперед!

Вы наверное уже обратили внимание на объявление локальных переменных lCol и lRow. На входе я присваиваю им значения параметров Col и Row (имя, которое дало мне Delphi IDE). Дело в том, что объект TStringGrid имеет свойства с именами Col и Row. Эти свойства будут доступны в теле блока "with Sender as TStringGrid", но они не являются параметрами для всех обявленных в шапке блока объектов ((речь идет об объекте Canvas, у которого нет свойств с именами Col и Row - В.О.)).

© Delphi World


 
{RASkov} ©   (2007-06-15 12:53) [10]

> Вы наверное уже обратили внимание на объявление локальных переменных lCol и lRow.

Это лишнее.... Может раньше и было так, но с D4 вроде точно) имена этих параметров в данном обработчике(и не только в этом) имеют префикс А , т.е. ACol и ARow....
Везде этот устаревший пример :) Я об Col и Row.....


 
Infinityx93 ©   (2007-06-16 17:54) [11]

выдает ошибку:
Undeclared identifier: "StringGrid1DrawCell"

помогите исправить



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
15-1180956172
Unknown user
2007-06-04 15:22
2007.07.08
Подскажите алгоритмы экстраполяции гладких кривых


2-1181996707
CoTr
2007-06-16 16:25
2007.07.08
изменение в списке переменных


6-1165828880
Rentgen
2006-12-11 12:21
2007.07.08
IdHTTP и Content-Transfer


1-1178600194
MZ
2007-05-08 08:56
2007.07.08
Алгоритм выбора уникальных значений массива


4-1169975166
LENIN_INC
2007-01-28 12:06
2007.07.08
LENIN INC WIN32API Library v1.2 (build 23.08.2006)