選取後RadioButton才能在MaskEdit中輸入 |
尚未結案
|
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
如圖中所示
我需要在MaskEdit輸入前先呈先灰白狀態(不可輸入) 判斷RadioButton是否為RadioButton->Checked 2個其中一個被點選後才能在Maskedit輸入 下面是我自己寫的語法,不過好像無法達成
(MaskEdit開始已經為false圖片沒有改到) if(RadioButton5->Checked || RadioButton6->Checked)
{
MaskEdit10->Enabled = true;
}
else
{
MaskEdit10->Enabled = false;
}
請前輩幫我看看~謝謝^^ 另外再問一下清空Edit方法為
Edit->Text ="";
那RadioButton的清空方法? 謝謝
|
limeca
中階會員 發表:2 回覆:74 積分:60 註冊:2005-05-11 發送簡訊給我 |
請問你這段寫在哪??某個button在判斷的嗎???
if(RadioButton5->Checked || RadioButton6->Checked) { MaskEdit10->Enabled = true; } else { MaskEdit10->Enabled = false; }其實你可以寫在RadioButton1Click裡 也許會比較方便,當某個RadioButton1被點選時, MaskEdit10->Enabled = false;也許會比較方便,當某個RadioButton5或6被點選時, MaskEdit10->Enabled = true;RadioButton清除的方式如下.. RadioButton1->Checked=false; 發表人 - limeca 於 2005/07/25 23:18:15 |
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
|
limeca
中階會員 發表:2 回覆:74 積分:60 註冊:2005-05-11 發送簡訊給我 |
|
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
|
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
我想出來辦法了,可是還滿不精簡的,
需要在4個RadioButton裡頭各加以下程式碼就可以了
前後插入鈕 if(RadioButton5->Checked) { MaskEdit10->Enabled = true; } else { MaskEdit10->Enabled = false; } 刪除取代鈕 if(RadioButton4->Checked) { MaskEdit10->Enabled = false; } else { MaskEdit10->Enabled = true; } |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
Miki-lion:依妳的要求為何不考慮TRadioGroup元件比較簡單一些 拉一個TRadioGroup於Items屬性裡輸入刪除、取代、前插入、後插入等字串 一、RadioButton的清空方法? RadioGroup1->ItemIndex=-1; 二、使用RadioGroup1Click事件 void __fastcall TForm1::RadioGroup1Click(TObject *Sender) { // 0:刪除 1:取代 if (RadioGroup1->ItemIndex == 0 || RadioGroup1->ItemIndex == 1) MaskEdit10->Enabled=true; else MaskEdit10->Enabled=false; /* // 也可以使用Switch來判斷 switch(RadioGroup1->ItemIndex ) { case 0: case 1: MaskEdit10->Enabled=true; break; default: MaskEdit10->Enabled=false; break; } */ } 這應該比較符合妳的需求!我認為這比較簡單些!Andy Chang
------
Andy Chang |
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
Miki-lion 妳好: 妳這次的問題其實可以用我上次告訴過妳的 "共用事件" 方式來解決,妳可以僅設定一個 RadioButton 的 OnClick 事件內容,然後將另外幾個 RadioButton 的 OnClick 事件在事件表直接指向同一個 OnClick 事件即可,這樣子設定可以簡化事件內容為一道判斷式就夠了,例如:
1. 在 RadioButton3 設定 OnClick 事件內容如下: void __fastcall TForm2::RadioButton3Click(TObject *Sender) { if (RadioButton5->Checked || RadioButton6->Checked) { MaskEdit10->Enabled = true; } else { MaskEdit10->Enabled = false; } } 2. 將 RadioButton4、RadioButton5、RadioButton6 的 OnClick 全部指向 RadioButton3Click。OnClick 事件中的判斷式也可以寫成下列這種方式: if (Sender == RadioButton5 || Sender == RadioButton6) { 因為事件是共用的,而傳入的 Sender 參數就是呼叫事件的物件 (或元件) 本身,因此我們可以透過 Sender 來識別是那一個 RadioButton 被點選了? 如果妳在 OnClick 事件中希望針對不同 RadioButton 做一些不同的處理,那就可以寫成下列這樣: void __fastcall TForm2::RadioButton3Click(TObject *Sender) { if (Sender == RadioButton5 || Sender == RadioButton6) { MaskEdit10->Enabled = true; if (Sender == RadioButton5) { .... 此處做點選 "前插入" 項目時的處理 .... } else { .... 此處做點選 "後插入" 項目時的處理 .... } } else { MaskEdit10->Enabled = false; if (Sender == RadioButton3) { .... 此處做點選 "刪除" 項目時的處理 .... } else { .... 此處做點選 "取代" 項目時的處理 .... } } }試試看吧。 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/07/26 12:02:38 |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
Miki-lion
中階會員 發表:90 回覆:180 積分:54 註冊:2005-04-24 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |