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

Вниз

Как обратиться к родителю   Найти похожие ветки 

 
AndrewK   (2007-09-10 10:57) [0]

Добрый день.

Динамически создаю TDBEditEh, в нем также динамически создаю три кнопки TEditButtonEh. На кнопки вешаю обработчики, которые выполняют операции для TDBEditEh.

При работе в обработчики передается в качестве Sender указатель на созданную кнопку.

Как мне получить указатель на TDBEditEh, через указатель на кнопку?


 
clickmaker ©   (2007-09-10 11:04) [1]


> через указатель на кнопку?

Parent?


 
AndrewK   (2007-09-10 11:18) [2]

У TDBEditEh нет такого свойства.
:(

Есть Collection. Через него может можно как-нибудь достать?


 
Игорь Шевченко ©   (2007-09-10 11:23) [3]


> У TDBEditEh нет такого свойства.


Куда делось ?


 
clickmaker ©   (2007-09-10 11:28) [4]

FEditControl?


 
AndrewK   (2007-09-10 11:49) [5]

 TEditButtonEh = class(TCollectionItem)
 private
   FActionLink: TEditButtonActionLinkEh;
   FDropdownMenu: TPopupMenu;
   FEditControl: TWinControl;
   FEnabled: Boolean;
   FGlyph: TBitmap;
   FHint: String;
   FNumGlyphs: Integer;
   FOnButtonClick: TButtonClickEventEh;
   FOnButtonDown: TButtonDownEventEh;
   FOnChanged: TNotifyEvent;
   FShortCut: TShortCut;
   FStyle: TEditButtonStyleEh;
   FVisible: Boolean;
   FWidth: Integer;
   function GetAction: TBasicAction;
   function GetGlyph: TBitmap;
   function IsEnabledStored: Boolean;
   function IsHintStored: Boolean;
   function IsShortCutStored: Boolean;
   function IsVisibleStored: Boolean;
   procedure DoActionChange(Sender: TObject);
   procedure SetAction(const Value: TBasicAction);
   procedure SetEnabled(const Value: Boolean);
   procedure SetGlyph(const Value: TBitmap);
   procedure SetHint(const Value: String);
   procedure SetNumGlyphs(Value: Integer);
   procedure SetStyle(const Value: TEditButtonStyleEh);
   procedure SetVisible(const Value: Boolean);
   procedure SetWidth(const Value: Integer);
 protected
   function CreateEditButtonControl: TEditButtonControlEh; virtual;
   procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); dynamic;
   procedure Changed; overload;
   property ActionLink: TEditButtonActionLinkEh read FActionLink write FActionLink;
 public
   constructor Create(Collection: TCollection); overload; override;
   constructor Create(EditControl: TWinControl); reintroduce; overload;
   destructor Destroy; override;
   function GetActionLinkClass: TEditButtonActionLinkEhClass; dynamic;
   procedure Assign(Source: TPersistent); override;
   procedure Click(Sender: TObject; var Handled: Boolean); virtual;
   procedure InitiateAction; virtual;
   property OnChanged: TNotifyEvent read FOnChanged write FOnChanged;
 published
   property Action: TBasicAction read GetAction write SetAction;
   property DropdownMenu: TPopupMenu read FDropdownMenu write FDropdownMenu;
   property Enabled: Boolean read FEnabled write SetEnabled stored IsEnabledStored default True;
   property Glyph: TBitmap read GetGlyph write SetGlyph;
   property Hint: String read FHint write SetHint stored IsHintStored;
   property NumGlyphs: Integer read FNumGlyphs write SetNumGlyphs default 1;
   property ShortCut: TShortCut read FShortCut write FShortCut stored IsShortCutStored default scNone;
   //property ShortCut: TShortCut read FShortCut write FShortCut default 32808; //Menus.ShortCut(VK_DOWN, [ssAlt]);
   property Style: TEditButtonStyleEh read FStyle write SetStyle default ebsDropDownEh;
   property Visible: Boolean read FVisible write SetVisible stored IsVisibleStored default False;
   property Width: Integer read FWidth write SetWidth default 0;
   property OnClick: TButtonClickEventEh read FOnButtonClick write FOnButtonClick;
   property OnDown: TButtonDownEventEh read FOnButtonDown write FOnButtonDown;
 end;


 
Плохиш ©   (2007-09-10 11:56) [6]


> AndrewK   (10.09.07 11:18) [2]
> Есть Collection. Через него может можно как-нибудь достать?

Т.е. самому пробовать/разбираться/думать - "не царское это дело"?


 
AndrewK   (2007-09-10 12:06) [7]


> Т.е. самому пробовать/разбираться/думать - "не царское это
> дело"?


Пробую, разбираюсь. Вот спросил совета у знающих людей, когда дело забуксовало.
А посоветовать что-то дельное - "не царское это дело", наверное.


 
AndrewK   (2007-09-10 12:12) [8]

Разобрался. Спасибо.



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

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

Наверх




Память: 0.49 MB
Время: 0.023 c
8-1167250641
crasher
2006-12-27 23:17
2007.10.07
Слежение за объектом через веб-камеру


15-1188921842
PARUS
2007-09-04 20:04
2007.10.07
PHP and GD


15-1189062735
iam
2007-09-06 11:12
2007.10.07
Ссылку на неплохую книгу по MS SQL SERVER


11-1173115116
Dy1
2007-03-05 20:18
2007.10.07
Как создавать Edit ?


8-1167300694
vrem
2006-12-28 13:11
2007.10.07
Mpeg2 в программе на дельфи