Главная страница
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.02 c
1-1185554019
Ice-T
2007-07-27 20:33
2007.10.07
Беда OPenDialog а


15-1189256604
Галинка
2007-09-08 17:03
2007.10.07
Переполнение буфера/кучи


2-1189577653
Washington
2007-09-12 10:14
2007.10.07
Местоположение формы


2-1189413540
BenGen
2007-09-10 12:39
2007.10.07
Приложение (сервис) - как сие организовать в Deiphi?


15-1189090603
Нуждающийся в совете
2007-09-06 18:56
2007.10.07
Учебник по теории вероятности и математической статистике.