Есть у нас пример переписывания TStringGrid`a где добавляем тип ячейки т.е. esEllipsis(кнопка скраю с 3 точками) esPickList(по типу комбобокса) и т.д. вот отсюда
http://delphi.cjcsoft.net/viewthread.php?tid=47965 там используют TInplaceEdit, но я использую не стандартный стринг грид, а вот отсюда
http://avemey.com/zcolorstringgrid/z...id.php?lang=ru + я его уже дописал для себя и добавил еще свойств как в екселе, но вот реализовать эти кнопочки не могу т.к. вместо стандартного TInplaceEdit в нем используется TCustomMemo, а одно к другому практически не совместимо.
Конкретнее мне нужно в этот TCustomMemo добавить свойства тип (что я успешно сделал) и при смене его, рисовать кнопку или комбобокс и обрабатывать нажатие (что я не сделал), копавшись в исходниках TInplaceEdit`a ни к чему не пришел и прошу помощи.
В моем случае он объявлен как:
TZInplaceEditor = class(TCustomMemo)
private
FGrid: TZColorStringGrid;
FExEn: integer;
protected
procedure DoEnter; override;
procedure DoExit; override;
procedure Change; override;
procedure DblClick; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure KeyUp(var Key: Word; Shift: TShiftState); override;
public
constructor Create(AOwner: TComponent); override;
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;override;
end;
TInplaceEditorOptions = class (TPersistent)
private
FGrid: TZColorStringGrid;
FFontColor: TColor;
FBGColor: TColor;
FBorderStyle: TBorderStyle;
FAlignment: TAlignment;
FWordWrap: Boolean;
FUseCellStyle: Boolean;
procedure SetFontColor(const Value: TColor);
procedure SetBGColor(const Value: TColor);
procedure SetBorderStyle(const Value: TBorderStyle);
procedure SetAlignment(const Value: TAlignment);
procedure SetWordWrap(const Value: Boolean);
procedure SetUseCellStyle(const Value: Boolean);
protected
public
constructor Create(AGrid: TZColorStringGrid); virtual;
published
property FontColor: TColor read FFontColor write SetFontColor default clblack;
property BGColor: TColor read FBGColor write SetBGColor default clWhite;
property BorderStyle: TBorderStyle read FBorderStyle write SetBorderStyle default bsNone;
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property WordWrap: Boolean read FWordWrap write SetWordWrap default true;
property UseCellStyle: Boolean read FUseCellStyle write SetUseCellStyle default true;
end;
П.С. Если не туда копаю тогда прошу направить меня в нужное русло!