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

呼叫InputBox之執行程式執行時提示字串忽長忽短 why ?

答題得分者是:Clarinet
ry_lee
高階會員


發表:368
回覆:251
積分:123
註冊:2002-03-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-15 19:58:50 IP:203.70.xxx.xxx 未訂閱
請教大家: 為何呼叫InputBox之執行程式執行時提示字串忽長忽短,比如我的例子是InputBox('InputBox','輸入一註冊碼','ttyy11dd'),但程式執行時提示字串有時是"輸入",有時是"輸",有時是"輸入一",請教大家為什麼會這樣,要怎麼解決(解決方法不包括自建輸入表格)?
Clarinet
高階會員


發表:9
回覆:97
積分:126
註冊:2002-05-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-16 09:55:54 IP:61.66.xxx.xxx 未訂閱
引言: 請教大家: 為何呼叫InputBox之執行程式執行時提示字串忽長忽短,比如我的例子是InputBox('InputBox','輸入一註冊碼','ttyy11dd'),但程式執行時提示字串有時是"輸入",有時是"輸",有時是"輸入一",請教大家為什麼會這樣,要怎麼解決(解決方法不包括自建輸入表格)?
那個好像是TLabel的問題!因為有時用TLabel時也會!至於什麼原因我也不知!懶得去想! 所以在輸入中文的時候就在最後多空幾個空白來解決這種問題! 因此,
------
GPS(全球衛星定位系統)
http://www.allgps.com
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-16 10:30:39 IP:211.23.xxx.xxx 未訂閱
那是因為 InputBox 實際上是DELPHI 自己產生一個 FORM 及 TLABEL, TEDIT 在上頭. TLABEL 的 AutoSize 在大字型模式下會計算錯誤, 所以才會造成字被截掉的問題. 最根本的解決方式就是重新修改 Dialogs.pas, 把 Label 設為和 Dialog 一樣寛, AutoSize 設為 False, 這樣就不會再發生同樣的問題了!!    
      with Prompt do
      begin
        Parent := Form;
        AutoSize := false;
        Left := MulDiv(8, DialogUnits.X, 4);
        Top := MulDiv(8, DialogUnits.Y, 8);
        width:=canvas.TextWidth(APrompt) 10 ;
        height:=(-font.height) 10 ;
        Caption := APrompt;
      end;
修改後別忘了將重編出來的 Dialogs.DCU 放到 LIB 目錄下, 這樣以後才都會有作用. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
系統時間:2024-11-23 11:42:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!