2013-05-19 46 views
0

我創建了一個radiobuttons數組,它將在事件中創建。我想創建一個事件,說單擊時顯示一個消息,使單選按鈕不可見。但它必須發生在點擊。你可以幫我嗎? 這是我建立了我的單選按鈕爲一個Radiobutton數組創建一個單擊事件處理程序

for k := 1 to 20 do 
begin 
    rd[k] := TRadioButton.Create(Self); 
    rd[k].Parent := pgcVerkiesing; 
    rd[k].Caption := 'rs'+IntToStr(k); 
    rd[k].Left := 16; 
    if k = 1 then 
    rd[k].Top := 26 
    else 
    rd[k].Top := (k*24) ; 
    rd[k].OnClick := OnClick; 
end; 

現在我想要做這樣的事情:rs1.clicked //procedure

rs1.disabled := true; 
richedit1.lines.add := 'Name'; 
showmessage(names); 

怎麼辦?

+0

請儘量清晰準確清楚哪些是你want.The最終代碼示例不遠程編譯和目前尚不清楚你想要它要執行的上下文。 –

+0

答案是100%準確的,並且完全符合我的要求。坦克x – user2399561

+0

也許。問題不清楚,您發佈的代碼含糊不清。如果你有一個很好的答案,那麼你很幸運。不要認爲@LURD能夠將您的問題解釋爲表明這是一個好問題。還要注意,這個問題必須由其他人編輯以使其易讀。我提供建設性的批評。 –

回答

2

如果我理解正確,你想禁用點擊單選按鈕。

定義事件爲您的單選按鈕:

procedure TForm1.OnRadioButtonClick(Sender : TObject); 

在創建單選按鈕,配合此事件處理程序的單選按鈕。

rd[k].OnClick := OnRadioButtonClick; 

procedure TForm1.OnRadioButtonClick(Sender : TObject); 
begin 
    TRadioButton(Sender).Enabled := false; 
    RichEdit1.Lines.Add('Name'); 
    ShowMessage(names); // names not defined ?? 
end; 
+0

我想你需要按鈕上的OnClick。 「對於表單,當用戶單擊禁用的組件或位於表單的空白區域時,會發生OnClick事件。」 –

+0

@DavidHeffernan,你是對的。我認爲這太明顯了。新增了明確的「OnRadioButtonClick」事件。 –

+0

接下來刪除循環,因爲發件人是 –

相關問題