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

MenuItem中AutoHotKey=True時, TextOut送出Caption能否去除&符號

答題得分者是:hagar
faberwen
一般會員


發表:9
回覆:6
積分:3
註冊:2004-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-28 11:38:44 IP:211.75.xxx.xxx 未訂閱
我的MenuItem的AutoHotKeys設為True,目的希望保留HotKey,之後, 我在MenuItem的OnDrowItem內,Caption沿用,改變Menu的Font,color,size, TextOut送出後,Menu顯示出來的字串多了"&"這個Hotkey前導符號,很是困惱,    ex.      正確為: 會員系統(V) 銷售系統(S)     TextOut之後: 會員系統(&V) 銷售系統(&S)    曾試想應用字串函數處理,但發現光是字串長度得到的結果都不是預期的, 不曉得各位前輩可曾碰過,又如何解決?  ===
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-28 13:43:06 IP:202.39.xxx.xxx 未訂閱
在 OnDrawItem 事件裏用如下的碼 會把所有 Caption 中第一個出現的 '&' 字元刪除後再 Textout:
var
  iPos: integer;
  sText: string;
begin
  sText := TMenuItem(Sender).Caption;
  iPos := Pos('&', sText);
  if iPos > 0 then
    Delete(sText, iPos, 1);
  ACanvas.Textout(Rect.Left, Rect.Top, sText);
end;
-- 向 KTop 的弟兄們致敬!
faberwen
一般會員


發表:9
回覆:6
積分:3
註冊:2004-04-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-28 14:56:18 IP:211.75.xxx.xxx 未訂閱
引言: 在 OnDrawItem 事件裏用如下的碼 會把所有 Caption 中第一個出現的 '&' 字元刪除後再 Textout:
var
  iPos: integer;
  sText: string;
begin
  sText := TMenuItem(Sender).Caption;
  iPos := Pos('&', sText);
  if iPos > 0 then
    Delete(sText, iPos, 1);
  ACanvas.Textout(Rect.Left, Rect.Top, sText);
end;
-- 向 KTop 的弟兄們致敬!
非常感謝Hagar兄指點,很快的幫我解決了困難!再次感謝! === Delphi 新手上路 多請包涵 ===
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-30 13:02:19 IP:211.74.xxx.xxx 未訂閱
1.DrawText 2.StringReplace    
系統時間:2024-05-18 15:32:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!