Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.056 c
2-1189148703
PIG
2007-09-07 11:05
2007.10.07
Глюк с массивом PCHAR


15-1189158558
Сергей2006
2007-09-07 13:49
2007.10.07
unable to locate hyperlink в Help Insight


4-1175760398
kalexi
2007-04-05 12:06
2007.10.07
Создание приложений на чистом API - TPanel


15-1189345971
ctudent
2007-09-09 17:52
2007.10.07
Дельфи


2-1189287756
Антон Шестаков
2007-09-09 01:42
2007.10.07
отобразить rtf-файл в TDBRichEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский