![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TMethod [D7]
GanibalLector © (2006-05-11 22:16:00)Имеется и работает :
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;
Тект в грид вводится,но не отображается(по непонятным мне причинам). Что не так,что проглядел???
Leonid Troyanovsky (2006-05-11 22:53:00) [1]
> GanibalLector © (11.05.06 22:46) [3]
> Спасибо,помогло. Только я смыла толком не понял...а на кой
RTFM: Delphi help: Method calling conventions.
--
Regards, LVT.
GanibalLector (2006-05-11 22:46:00) [2]> то первым (зависит от..) д.б. ASelf: TObject.
Спасибо,помогло. Только я смыла толком не понял...а на кой ее добавлять? Ведь она даже нигде не используется.
Leonid Troyanovsky (2006-05-11 22:39:00) [3]
> GanibalLector © (11.05.06 22:16)
> хотелось бы сделать так :
Извини, конечно, но "так" совсем непонятно.
Если же, скажем, хочется назначать вместо метода регулярную
процедуру, то первым (зависит от..) д.б. ASelf: TObject.
--
Regards, LVT
TUser (2006-05-11 22:33:00) [4]Первое, что пришло в голову, - все эти гриды сделать наследниками общего предка, в котром перекрыть соотв. метод. Или я не правильно понял задачу?