Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как обратиться к родителю [D6, WinXP]


AndrewK ©   (2007-09-10 10:57:00) 

Добрый день.

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

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

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


AndrewK   (2007-09-10 12:12:00) [1]

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


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


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


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


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


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

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


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

 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;


clickmaker   (2007-09-10 11:28:00) [5]

FEditControl?


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


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


Куда делось ?


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

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

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


clickmaker   (2007-09-10 11:04:00) [8]


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

Parent?


Наверх

Титульная страница Поиск, карта сайта Написать письмо