Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c