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

InputBox「提示訊息」字體顯示只出現三個?

尚未結案
moons512
一般會員


發表:6
回覆:3
積分:1
註冊:2004-07-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-30 14:21:59 IP:61.220.xxx.xxx 未訂閱
各位大大: 小弟我在練習時,發現InputBox的「提示訊息」部分,不管我在設定幾個字,都只會顯示出三個,如:我們上學去。只會出現「我們上」 小弟不知道原因,請大大們告知~~謝謝
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-30 15:03:26 IP:203.70.xxx.xxx 未訂閱
moons512您好 先聲明,小弟沒使用過InputBox... 只是這種情形和TLabel元件的情況很像...小弟推測它也是使用TLabel元件... 您可以試試看,放一個TLabel元件在Form上,AutoSize屬性設為true, Caption輸入中文字,顯示出來也是這個樣子... 應該是這個元件在算這類WideChar的顯示長度上有問題... 如果輸入的是英文字母或數字,就不會有問題... TLabel元件只要將AutoSize設為false就能解決,不過InputBox是內建的元件... 最好是不要修改它... 如果一定要用到InputBox提供的功能...自己做一個Form就可以了...    以上建議請參考 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
andychang1690
資深會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-30 17:01:44 IP:202.104.xxx.xxx 未訂閱
moons512:
參考對岸
http://www.ccrun.com/doc/go.asp?id=598
C   Builder 研究
將[BCB]\Source\vcl\dialogs.pas拷貝到你的執行目錄下
開啟你的執行目錄下dialogs.pas
找到function InputQuery裡的
Prompt := TLabel.Create(Form);下面加一行
Prompt.Parent := Form;
Project->加入dialogs.pas
Project->Options->Packages->取消Build with runtime Packages
執行OK!
如按文章所言你還可以作更多事
請參考!
Andy Chang
------
Andy Chang
moons512
一般會員


發表:6
回覆:3
積分:1
註冊:2004-07-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-30 17:56:14 IP:61.220.xxx.xxx 未訂閱
我按照方式,有些地方不太懂~~    *********Project->加入dialogs.pas    是在project-> add to project加入嗎?    *********Project->Options->Packages->取消Build with runtime Packages *********執行OK!    做到這裡,要把檔案copy回原BCB檔案下嗎?    我在未COPY回得情況下,小小RUN了一下,打五個字,出現四個了~~= = 請問正常嗎?
andychang1690
資深會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-30 19:14:36 IP:202.104.xxx.xxx 未訂閱
先要把檔案dialogs.pas copy回你BCB檔案下
按我說明重新更正
開啟你的執行目錄下dialogs.pas
找到function InputQuery裡的
with Prompt do
  begin
    Parent := Form;
    Left := MulDiv(8, DialogUnits.X, 4);
    Top := MulDiv(8, DialogUnits.Y, 8);
//  下面加入
    Width := 160;
是在project-> add to project加入嗎?
是,只要你的這隻同目錄下的dialogs.pas 加入你的project即可
我在未COPY回得情況下,小小RUN了一下,打五個字,出現四個了~~= =
請問正常嗎?
當然不正常!
Andy Chang
------
Andy Chang
moons512
一般會員


發表:6
回覆:3
積分:1
註冊:2004-07-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-02 10:01:32 IP:61.220.xxx.xxx 未訂閱
我按照大大新的方式做了,最後也把.pas放回vcl下。 重新執行了一次~ 發現可怕的事情= = 我的程式碼如下: double pay,yr_rate,yr,sn; pay = StrToFloat(InputBox("本金","請輸入本金 :","")); yr_rate = StrToFloat(InputBox("年利率","請輸入年利率 %:","")); yr = StrToFloat(InputBox("年數","請輸入幾年後 :","")); 我run了好幾次,pay那行就只出現:請輸入本 而yr_rate,yr後面的「請輸入年利率」「...幾年後」都可以完整顯示出來~~ 那呀按ㄟ?@@
andychang1690
資深會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-02 10:37:09 IP:219.132.xxx.xxx 未訂閱
對不起可能我說的不清楚 原Vcl\Source\dialogs.pas 不要動,也不要改 將dialogs.pas copy回你BCB專案檔案下 開啟你的BCB專案目錄下dialogs.pas 找到function InputQuery裡的 with Prompt do   begin     Parent := Form;     Left := MulDiv(8, DialogUnits.X, 4);     Top := MulDiv(8, DialogUnits.Y, 8); //  下面加入     Width := 160; 只要你的這隻同目錄下的dialogs.pas 加入你的project即可 記著你的專案檔案只要 project-> add BCB專案目錄下dialogs.pas 程式裡不要Include dialogs.pas 我執行的結果 請參考 Andy Chang
------
Andy Chang
bugmans
高階會員


發表:95
回覆:322
積分:188
註冊:2003-04-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-10 21:02:56 IP:218.166.xxx.xxx 未訂閱
這個問題我也曾經回答過http://www.vbguide.com.tw/vbqa/vb.old/read.asp?id=30406 hook方法的參考資料http://www.enzinger.net/InpBoxEx.txt SetTimer方法的參考資料http://www.freevbcode.com/ShowCode.asp?ID=1214&NoBox=True 基本上都是用到WinAPI,很容易就可以看懂的,如果要BCB或Delphi的範例就要上google找看看了
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-12-15 23:15:22 IP:140.113.xxx.xxx 未訂閱
引言: 對不起可能我說的不清楚 原Vcl\Source\dialogs.pas 不要動,也不要改 將dialogs.pas copy回你BCB專案檔案下 開啟你的BCB專案目錄下dialogs.pas 記著你的專案檔案只要 project-> add BCB專案目錄下dialogs.pas 程式裡不要Include dialogs.pas 我執行的結果
請問一下,為什麼我直接修改 Vcl\Source\dialogs.pas 會無效呢? -- http://www.csie.nctu.edu.tw/~chtai/software.php 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
系統時間:2024-10-01 5:05:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!