MenuItem中AutoHotKey=True時, TextOut送出Caption能否去除&符號 |
答題得分者是:hagar
|
faberwen
一般會員 發表:9 回覆:6 積分:3 註冊:2004-04-23 發送簡訊給我 |
我的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 發送簡訊給我 |
在 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 發送簡訊給我 |
引言: 在 OnDrawItem 事件裏用如下的碼 會把所有 Caption 中第一個出現的 '&' 字元刪除後再 Textout:非常感謝Hagar兄指點,很快的幫我解決了困難!再次感謝! === Delphi 新手上路 多請包涵 ===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 的弟兄們致敬! |
jest0024
高階會員 發表:11 回覆:310 積分:224 註冊:2002-11-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |