Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2013, 18:55
Ivanius Ivanius вне форума
Прохожий
 
Регистрация: 21.07.2008
Сообщения: 19
Репутация: 10
По умолчанию Перепись чужого компонента

возможно краем бока относится к недавней теме http://www.delphisources.ru/forum/sh...ad.php?t=24941
но все-таки.
Есть у нас пример переписывания 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 ни к чему не пришел и прошу помощи.
В моем случае он объявлен как:
Код:
//âìåñòî ñòàíäàðòíîãî InplaceEditor-à
  TZInplaceEditor = class(TCustomMemo)
  private
    FGrid: TZColorStringGrid;
    FExEn: integer;  // "êîñòûëü" äëÿ èñïðàâíîé ðàáîòû DoEnter/DoExit *^_^*

  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;
П.С. Если не туда копаю тогда прошу направить меня в нужное русло!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter