請教元件設計,property 的值要如何選取 |
答題得分者是:Zard
|
Dark852
一般會員 發表:14 回覆:19 積分:6 註冊:2004-09-25 發送簡訊給我 |
我跟了以下做了一個TMyComponent的元件 但有問題
unit MyComponent; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TDay = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); TMyComponent = class(TEdit) private { Private declarations } FDay: TDay; protected { Protected declarations } public { Public declarations } published { Published declarations } property Day: TDay read FDay write FDay; end; procedure Register; implementation procedure Register; begin RegisterComponents('Custom', [TMyComponent]); end; end.元件的 property 多了一個 叫 day 的pull down menu 但我要怎麼才可以取得我所選的 day 數值呢 EG. 我要取得text的值就用 元件名.text 發表人 - Dark852 於 2004/10/27 13:21:39 |
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
新增處幫你用紅字標起來, 原理就是這行:
property Day: TDay read FDay write FDay;
當你從pull down menu選好後, 值會寫進FDay, 所以要取得其值只要寫一個
function回傳 FDay即可.
unit MyComponent; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TDay = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); TMyComponent = class(TComponent) private { Private declarations } FDay: TDay; protected { Protected declarations } public { Public declarations } Function GetDay(): TDay; published { Published declarations } property Day: TDay read FDay write FDay; end; procedure Register; implementation Function TMyComponent.GetDay(): TDay; begin Result := FDay; end; procedure Register; begin RegisterComponents('Custom', [TMyComponent]); end; end. |
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
Dark852
一般會員 發表:14 回覆:19 積分:6 註冊:2004-09-25 發送簡訊給我 |
|
Dark852
一般會員 發表:14 回覆:19 積分:6 註冊:2004-09-25 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |