線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1140
推到 Plurk!
推到 Facebook!

如何對一個 Focused 的 TEdit 填字串

尚未結案
KCHong
一般會員


發表:1
回覆:2
積分:0
註冊:2003-05-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-22 00:49:01 IP:211.78.xxx.xxx 未訂閱
請教各位先進:    在我的程式中有數十個TEdit components 我的程式想做的是 當外部觸發發生時,對目前focused的TEdit填入一段字串 然後將focus移至下一個tag order的TEdit    我在Delphi討論區找到可能可以參考的程式 http://delphi.ktop.com.tw/topic.php?topic_id=21877
  for i := 0 to pred(ComponentCount) do //跑迴圈找元件
  begin
    if ( Components[i] is TEdit ) then //如果是Tedit類別元件
    begin
       if ((Components[i] as TEdit).Text = '')  then 
                                       //如果該元件的Text 是空白
       ............
       ............
    end;
  end ;
我想請教的是 我該如何把他轉換成BCB語言,特別是 Components[i] is TEdit (Components[i] as TEdit).Text 這兩個部分 或者是不是有其他更好的建議? 謝謝大家的幫忙!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-22 01:03:00 IP:140.135.xxx.xxx 未訂閱
KCHong您好:    
引言: 在我的程式中有數十個TEdit components 我的程式想做的是 當外部觸發發生時,對目前focused的TEdit填入一段字串 然後將focus移至下一個tag order的TEdit
試試下面的code
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int i=1;
 ((TEdit *)FindComponent("Edit" IntToStr(i)))->Text="您要輸入的字串";
  
}
 
由i的選擇應該可以達到您要的功能吧... 不曉得有沒有誤會您的意思... 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~ 發表人 -
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-22 10:28:47 IP:218.160.xxx.xxx 未訂閱
TComponent *TheComponent = Components[i]; TClass Class = TheComponent->ClassType(); AnsiString ss = Class->ClassName(); if (ss == "TEdit") ((TEdit*)TheComponent)->Text = ss;
KCHong
一般會員


發表:1
回覆:2
積分:0
註冊:2003-05-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-23 07:41:57 IP:211.78.xxx.xxx 未訂閱
謝謝兩位的指點 我的程式已經初步可以動作了    可能是我沒把問題說的很清楚 還有一個問題是 當初是希望是利用這個 for 迴圈找出目前 focused 的物件 因此對整個 form 上的物件作蒐尋 可是我發現這樣做似乎很沒效率 有沒有一個屬性或方法可以直接找到這個
firewing
一般會員


發表:23
回覆:47
積分:19
註冊:2002-12-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-23 09:09:43 IP:139.223.xxx.xxx 未訂閱
引言: 謝謝兩位的指點 我的程式已經初步可以動作了 可能是我沒把問題說的很清楚 還有一個問題是 當初是希望是利用這個 for 迴圈找出目前 focused 的物件 因此對整個 form 上的物件作蒐尋 可是我發現這樣做似乎很沒效率 有沒有一個屬性或方法可以直接找到這個 focused 物件呢? 再麻煩大家了 謝謝~~~
你好: 可以試試看 TEdit *tFocus; tFocus=(TEdit *)ActiveControl; if(dynamic_cast(tFocus)){ //tFocus 就是擁有 Focus 的那個 TEdit }
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-23 14:45:45 IP:218.160.xxx.xxx 未訂閱
ActiveControl->ClassName(); 或 ActiveControl->Name;
yx_huang77
一般會員


發表:46
回覆:64
積分:22
註冊:2004-03-19

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-07 14:23:26 IP:220.142.xxx.xxx 未訂閱
我只是想在事件底下得知目前的元件類別
系統時間:2024-06-26 10:41:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!