VC中前綴字符&帶來(lái)的UI顯示問(wèn)題

      網(wǎng)友投稿 741 2025-04-01

      早期整理資料的上傳,解決問(wèn)題中有查找和參考相關(guān)資料,內(nèi)容以自己測(cè)試和處理過(guò)程整理為主。

      問(wèn)題現(xiàn)象

      VC的界面上如果通過(guò)靜態(tài)文本框?qū)傩燥@示一個(gè)包含多個(gè)&&的字符串,或者通過(guò)DrawText接口顯示包含多個(gè)&&的字符串。默認(rèn)情況下,一個(gè)&不會(huì)顯示,兩個(gè)&會(huì)顯示為一個(gè)&,帶來(lái)界面顯示問(wèn)題。

      問(wèn)題原因

      這是因?yàn)閂C的界面類控件中對(duì)文字有一些前綴相關(guān)屬性,默認(rèn)會(huì)將&當(dāng)作前綴符號(hào)解釋處理,根據(jù)控件屬性中對(duì)前綴的不同處理來(lái)顯示前綴附件的字符。

      解決方法

      配置控件屬性中關(guān)閉前綴識(shí)別屬性。

      代碼樣例

      VC中前綴字符&帶來(lái)的UI顯示問(wèn)題

      void?OnPaint(){ CPaintDC?dc(this);?//?device?context?for?painting int?x?=?100; ? CRect?rectText1(x?+?50,?50,?x?+?200,??70); CRect?rectText2(x?+?50,?70,?x?+?200,??100); CString?strTest1("1111111&&2222222"); std::wstring?strTest2(L"666666&&2222222"); //dc.DrawText(strTest1,?rectText1,?DT_NOCLIP|DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_WORD_ELLIPSIS); //dc.DrawText(strTest2.c_str(),?rectText2,?DT_NOCLIP|DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_WORD_ELLIPSIS); dc.DrawText(strTest1,?rectText1,?DT_LEFT?|?DT_NOPREFIX); dc.DrawText(strTest2.c_str(),?rectText2,?DT_LEFT); dc.TextOutW(x?+?50,??100,?strTest1); dc.TextOutW(x?+?50,??120,?strTest2.c_str()); ? CDialog::OnPaint();}

      靜態(tài)文本框的屬性調(diào)整:

      DrawText處理效果:

      相關(guān)資料及說(shuō)明

      該函數(shù)在指定的矩形里寫入格式化的正文,根據(jù)指定的方法對(duì)正文格式化(擴(kuò)展的制表符,字符對(duì)齊、折行等)。

      通常DrawText解釋助記前綴字符,&為給其后的字符加下劃線,解釋&&為顯示單個(gè)&。指定DT_NOPREFIX,這種處理被關(guān)閉。

      中文說(shuō)明?http://blog.csdn.net/lishuhuakai/article/details/18322459

      官方文檔:https://msdn.microsoft.com/en-us/library/windows/desktop/dd162499(v=vs.85).aspx

      Ignores?the?ampersand?(&)?prefix?character?in?the?text.?The?letter?that?follows?will?not?be?underlined,?but?other?mnemonic-prefix?characters?are?still?processed. Example: input?string:?"A&bc&&d" normal:?"Abc&d" DT_HIDEPREFIX:?"Abc&d" DT_NOPREFIX:?"A&bc&&d" PREFIXONLY:?"?_?" Compare?with?DT_NOPREFIX?and?DT_PREFIXONLY.

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:excel表太長(zhǎng)看數(shù)據(jù)不方便怎么辦?
      下一篇:項(xiàng)目管理的多元化
      相關(guān)文章
      亚洲一区二区三区亚瑟| 亚洲精品视频在线播放| 久久亚洲最大成人网4438 | 亚洲va在线va天堂va不卡下载| 亚洲第一区在线观看| 亚洲欧洲国产综合AV无码久久| 亚洲成年网站在线观看| 2020久久精品亚洲热综合一本| 亚洲乱码中文字幕小综合| 亚洲国产成人精品电影| 亚洲视频一区二区三区四区| 亚洲国产人成在线观看| ww亚洲ww在线观看国产| 亚洲综合色7777情网站777| 亚洲国产系列一区二区三区| 国产精品亚洲精品| 亚洲午夜无码毛片av久久京东热| 亚洲人成网站在线在线观看| 亚洲国产日韩a在线播放| 日韩亚洲人成网站| 亚洲无码高清在线观看| 中文字幕亚洲综合久久菠萝蜜| 亚洲五月综合缴情在线观看| 亚洲国产精品无码专区影院| 亚洲今日精彩视频| 亚洲另类自拍丝袜第1页| 77777亚洲午夜久久多喷| 亚洲精品无码你懂的| 国产亚洲精品欧洲在线观看| 久久精品亚洲乱码伦伦中文| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲a在线视频视频| 亚洲喷奶水中文字幕电影| 亚洲色欲啪啪久久WWW综合网| 亚洲高清国产拍精品熟女| 亚洲日本一区二区三区在线不卡| 国产亚洲综合成人91精品| 亚洲人成依人成综合网| 亚洲一区二区三区免费在线观看 | 久久亚洲国产最新网站| 男人的天堂av亚洲一区2区|