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

Вниз

TMethod   Найти похожие ветки 

 
GanibalLector ©   (2006-05-11 22:16) [0]

Имеется и работает :

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
 var Buff: array [0..255] of Char;
begin
 with (Sender as TStringGrid),(Sender as TStringGrid).Canvas do
 begin
   StrPCopy(Buff,Cells[ACol, ARow]);
   SetTextAlign(Handle,GetTextAlign(Handle) and not (ta_Left or ta_Center) or (ta_Right));
   ExtTextOut(Handle,Rect.Right-2,Rect.Top+2,ETO_CLIPPED or ETO_OPAQUE,@Rect,Buff,StrLen(Buff),nil)
 end;
end;


В виду того,что гридов много и разбросаны они в разных формах хотелось бы сделать так :

...
var M:TMethod;
begin
 M.Code := @MyCode;
 M.Data  := StringGrid1;// или другой
 StringGrid1.OnDrawCell := TDrawCellEvent(M);
end;
...
// некий модуль,который подключен ко всем формам
procedure MyCode(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
 var Buff : Array [0..255] of Char;
begin
 with (Sender as TStringGrid) do
 begin
   StrPCopy(Buff,Cells[ACol, ARow]);
   SetTextAlign(Canvas.Handle,
                GetTextAlign(Canvas.Handle) and not (ta_Left or ta_Center) or (ta_Right));
   ExtTextOut(Canvas.Handle,Rect.Right-2,Rect.Top+2,
            ETO_CLIPPED or ETO_OPAQUE,@Rect,Buff,StrLen(Buff),nil);
 end;
end;


Тект в грид вводится,но не отображается(по непонятным мне причинам). Что не так,что проглядел???


 
TUser ©   (2006-05-11 22:33) [1]

Первое, что пришло в голову, - все эти гриды сделать наследниками общего предка, в котром перекрыть соотв. метод. Или я не правильно понял задачу?


 
Leonid Troyanovsky ©   (2006-05-11 22:39) [2]


> GanibalLector ©   (11.05.06 22:16)  

> хотелось бы сделать так :


Извини, конечно, но "так" совсем непонятно.
Если же, скажем, хочется назначать вместо метода регулярную
процедуру, то первым (зависит от..) д.б. ASelf: TObject.

--
Regards, LVT


 
GanibalLector ©   (2006-05-11 22:46) [3]

> то первым (зависит от..) д.б. ASelf: TObject.
Спасибо,помогло. Только я смыла толком не понял...а на кой ее добавлять? Ведь она даже нигде не используется.


 
Leonid Troyanovsky ©   (2006-05-11 22:53) [4]


> GanibalLector ©   (11.05.06 22:46) [3]

> Спасибо,помогло. Только я смыла толком не понял...а на кой


RTFM: Delphi help: Method calling conventions.

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.03 c
4-1142884196
Anonim
2006-03-20 22:49
2006.06.18
GetShortPathName


3-1145967793
Express
2006-04-25 16:23
2006.06.18
TDBGrid - номер текущей записи и всего записей в таблице


15-1148218724
Desdechado
2006-05-21 17:38
2006.06.18
Лето близится. Как настроение?


2-1148988561
wsih
2006-05-30 15:29
2006.06.18
Как пробежаться по всем веткам узла


8-1137160318
GekaNaz
2006-01-13 16:51
2006.06.18
из MPEG4 файла нужно выдернуть несколько ключевых кадров