在action xxxChange(Sender:TObject)中,如何取回Sender的父物件 |
答題得分者是:jow
|
jrhuqytjrhu
一般會員 發表:3 回覆:4 積分:1 註冊:2009-09-23 發送簡訊給我 |
小弟有個問題想求教各位高手們: TObject ControlComboBox, 而小弟為多個ControlComboBoxChange, 而這些ItemsList內, 請問如何用action ControlComboBoxChange 中的type id:String; ... ItemsList.Add(Item); ... 2. 為ItemsList每一個Item動態生成一個action (ControlComboBoxChange) TItem(ItemsList [0]).ControlComboBox.OnClick := ControlComboBoxChange; TItem(ItemsList [1]).ControlComboBox.OnClick := ControlComboBoxChange; TItem(ItemsList [2]).ControlComboBox.OnClick := ControlComboBoxChange; 3. ControlComboBoxChange PS:我使用"程式碼區塊"時出現問題,所以沒有用,請勿見怪! 謝謝各位高手!! 編輯記錄
jrhuqytjrhu 重新編輯於 2009-10-17 05:02:49, 註解 無‧
jrhuqytjrhu 重新編輯於 2009-10-17 05:03:44, 註解 無‧ jrhuqytjrhu 重新編輯於 2009-10-17 05:07:47, 註解 無‧ jrhuqytjrhu 重新編輯於 2009-10-17 05:09:25, 註解 無‧ jrhuqytjrhu 重新編輯於 2009-10-17 05:09:48, 註解 無‧ |
TWY
高階會員 發表:2 回覆:133 積分:152 註冊:2009-09-02 發送簡訊給我 |
|
jrhuqytjrhu
一般會員 發表:3 回覆:4 積分:1 註冊:2009-09-23 發送簡訊給我 |
|
TWY
高階會員 發表:2 回覆:133 積分:152 註冊:2009-09-02 發送簡訊給我 |
難怪,你的 Code 有些東西我沒看過。
抱歉我只有 Delphi 6,7,無法驗證我所能提供的回覆,所以請其他高手出手協助吧~ ===================引 用 jrhuqytjrhu 文 章=================== 我是用DELPHI 2007的, |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code delphi]
procedure TfrmMain.ControlComboBoxChange(Sender: TObject); function FindItem(L: TList; Key: TComboBox; var Index: Integer; var Item: TItem): Boolean; begin Item := nil; Index := -1; for I := 0 to L.Count-1 do begin if Key = TItem(L[I]).ControlComboBox then begin Index := I; Item := TItem(L[I]); Break; end; end; Result := Item <> nil; end; var Item: TItem; Index: Integer; begin if (Sender is TComboBox) and FindItem(ItemList,TComboBox(Sender),Index,Item) then begin ShowMessage(Format('%d-%s',[Index,Item.Id]); end; end; [/code] 隨手寫的程式碼,沒有測試過 僅提方法供你參考...
編輯記錄
jow 重新編輯於 2009-10-20 12:09:27, 註解 無‧
|
jrhuqytjrhu
一般會員 發表:3 回覆:4 積分:1 註冊:2009-09-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |