全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2134
推到 Plurk!
推到 Facebook!

元件都一直顯示不出來

尚未結案
liang-shien
一般會員


發表:15
回覆:21
積分:7
註冊:2005-05-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-23 18:22:30 IP:61.230.xxx.xxx 未訂閱
我在panel上放一個groupbox,然後原本上面只有一個label,一個button.現在我想加一個chkbox,可是執行時它都顯示不出來..一氣之下我拉了5,6個新的不同原件在上面,edit,button,image,radio button,結果執行時還是只有原來的一個label和button有出來,其他就這樣憑空消失了..有人有遇過這種情形嗎?我有看panel的repaint是true阿...因為程式執行過程中,這個form有被hide(),然後又show()出來 可是還是不行
limeca
中階會員


發表:2
回覆:74
積分:60
註冊:2005-05-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-23 18:44:59 IP:61.230.xxx.xxx 未訂閱
您好~~ 那您查一下元件是否有被其它元件擋住造成此種原因 也查查元件是否在panel裡~~ 也許它在Form裡~~被panel所擋住,以至於無法顯示
liang-shien
一般會員


發表:15
回覆:21
積分:7
註冊:2005-05-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-23 19:09:09 IP:61.230.xxx.xxx 未訂閱
這方面我也有想過,所以我拉新元件時都是在groupbox上拉,因為groupbox是在panel上,所以要是它能顯示出來,照理來說我拉的新元件應該也要出來...
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-23 19:37:38 IP:221.169.xxx.xxx 未訂閱
liang-shien:建議你先用記事本或UltraEdit開啟你的.DFM檔 裡面會很清楚的表現出元件父子階的關係!你可以先確認! 請參考! Andy Chang
------
Andy Chang
limeca
中階會員


發表:2
回覆:74
積分:60
註冊:2005-05-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-23 19:53:58 IP:61.230.xxx.xxx 未訂閱
從BCB的Object TreeView(一般都在你畫面的左方) 看一下那些物件是否在panel之下
liang-shien
一般會員


發表:15
回覆:21
積分:7
註冊:2005-05-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-23 20:35:25 IP:61.230.xxx.xxx 未訂閱
Object TreeView是什麼阿..我只有看到一個Object Inspector,可是這個要怎麼看父子關係呢..而且我剛剛一直在試,被我發現了...它其實有顯示出來,不過只有一秒鐘就又自己消失了...my god...我可以十分確定,程式中沒有半行有改到它的visible...只有一行,就是當你拉一個新物件時,它自動幫你做的宣告...天ㄚ..會自動消失...
liang-shien
一般會員


發表:15
回覆:21
積分:7
註冊:2005-05-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-23 20:46:19 IP:61.230.xxx.xxx 未訂閱
andychang1690,我剛剛有去看了一下,我可以確定我那個物件有在父物件底下...就是說,現在有3個元件,panel,groupbox,chkbox....panel最上層,然後是groupbox,最後是chkbox,因為我的chkbox本來就是要拉到groupbox上的..所以這樣應該是沒錯吧??而且我在這個form中的任何一個地方拉一個新的button或chkbox..它就是跑不出來...神奇吧..因為在run這一段程式之前,令外有跑一個thread做其他事,等這個thread跑完後,這個form才會又show出來,可是應該跟thread沒關西吧... 所以我又試了一下..果然不跑這個thread,chkbox就出來了...天ㄚ..可是這個thread中沒有任何會跟chkbox有關析的ㄚ..還是跑thread有什麼限制嗎?
limeca
中階會員


發表:2
回覆:74
積分:60
註冊:2005-05-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-23 20:52:39 IP:61.230.xxx.xxx 未訂閱
Object TreeView就是在你的Object Inspector上面,可能~~你把它關掉了吧 你可以從menu的選單的view找到Object TreeView~ 聽你這麼說好像那些物件確實是在panel裡~ 蠻神奇的~~很想讓人親眼瞧瞧
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-24 02:09:50 IP:221.169.xxx.xxx 未訂閱
liang-shien:你的Thread檢查一下Execute()
是否如下有一個while-LOOP,如有加上Sleep()
void __fastcall MyThread::Execute()
{
  //---- Place thread code here ----
  FreeOnTerminate = true;
  while(!Terminated)  {
    Synchronize(fsMsgDo);
    Sleep(300); 
  }
}
或你的Thread副程式有LOOP可以加上
Application->ProcessMessages(); //看有無其他的指令需執行,以免鎖住
試試!
請參考!    
Andy Chang
------
Andy Chang
liang-shien
一般會員


發表:15
回覆:21
積分:7
註冊:2005-05-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-24 10:06:27 IP:61.230.xxx.xxx 未訂閱
andychang1690,我的thread是用createThread的方法做出來的...所比沒有用到executeㄝ..所以我不知道要把synchronize加在哪... 程式應該沒有鎖住,因為之前就是要處理某個function,要花比較久的時間,所以執行時整個form被lock住,都不能移動.後來用thread後就沒事了..應該沒有鎖住...
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-06-24 10:44:44 IP:221.169.xxx.xxx 未訂閱
引言: andychang1690,我的thread是用createThread的方法做出來的...所比沒有用到executeㄝ..所以我不知道要把synchronize加在哪... 程式應該沒有鎖住,因為之前就是要處理某個function,要花比較久的時間,所以執行時整個form被lock住,都不能移動.後來用thread後就沒事了..應該沒有鎖住...
liang-shien:在一些處理段試著加入下面命令 Application->ProcessMessages(); //看有無其他的指令需執行,以免鎖住 或你方便Post程式段! Andy Chang
------
Andy Chang
系統時間:2024-05-09 17:42:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!