青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

羅朝輝(飄飄白云)

關注嵌入式操作系統,移動平臺,圖形開發。-->加微博 ^_^

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  85 隨筆 :: 0 文章 :: 169 評論 :: 0 Trackbacks

如何限制CRichEditCtrl換行
飄飄白云 2008/03/19


用WTL在自制的窗口里加了個文本框,但要限制用戶輸入不能超過三行,即便是按enter或alt+enter換行也不能超過三行,瀏覽了下MSDN,實現這個功能,順便mark一下。

首先創建CRichEditCtrl對象,創建文本框,并設置相關的屬性(ES_MULTILINE必須要有),具體看代碼:

WTL::CRichEditCtrl m_recText;

m_recText.Create(
*this, m_rcText, L"", WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_MULTILINE, 0);

......

m_recText.LimitText(
30);
m_recText.SetEventMask(ENM_KEYEVENTS);        
//在這里設置將文本框的按鍵消息發送給父窗口(MSG_WM_NOTIFY)

然后在父窗口的消息map中添加MSG_WM_NOTIFY的響應函數:

BEGIN_MSG_MAP_EX(ModifyPlayerExplImpl)
 ...
 MSG_WM_NOTIFY(OnNotify)
 ....
END_MSG_MAP()

然后在OnNotify()中實現相應的處理:

    LRESULT OnNotify(int nID, LPNMHDR pnmh)
    
{
        
if (pnmh->hwndFrom == m_recText && pnmh->code == EN_MSGFILTER) {
            MSGFILTER
* msgFilter = (MSGFILTER *) (pnmh);
            
if (msgFilter->msg == WM_KEYDOWN && msgFilter->wParam == VK_RETURN) {
                
if (m_recText.GetLineCount() >= 3{
                    msgFilter
->wParam = 0;
                }

            }

        }


        
return 0;
    }

這里我們先來看看LPNMHDR這個東東(指向一個NMHDR結構體),NMHDR的聲明如下:

typedef struct tagNMHDR
{
    HWND      hwndFrom;
    UINT_PTR  idFrom;
    UINT      code;         
// NM_ code
}
   NMHDR;
typedef NMHDR FAR 
* LPNMHDR;

其中hwndFrom就是這個消息的來源控件窗口句柄,idFrom就是控件的id,code是消息的通知碼。下面來看看具體怎么用,先判斷hwndFrom是否就是我們想要監控的文本框控件,并且消息的通知碼要是EN_MSGFILTER(MSDN如是說:
The EN_MSGFILTER message notifies a rich edit control's parent window of a keyboard or mouse event in the control. A rich edit control sends this notification message in the form of a WM_NOTIFY message.

文本框控件通過WM_NOTIFY發送EN_MSGFILTER通知碼給父窗口,通知父窗口----文本框中有鍵盤或者鼠標事件發生)

這樣我們就可以確定這個消息確是來自我們想要監控的文本框控件的按鍵消息,然后我們就可以把LPNMHDR轉換成MSGFILTER指針,來處理響應或讓文本框控件忽略按鍵消息(這是我們在這里想要的-如果行數大于指定數目,就忽略回車按鍵消息)。MSGFILTER結構體包含來自文本框控件的鍵盤或鼠標消息,定義如下:

typedef struct _msgfilter {
    NMHDR nmhdr;
    UINT msg;
    WPARAM wParam;
    LPARAM lParam;
}
 MSGFILTER;


nmhdr就是前面的講過的NMHDR結構體,msg是一般的window消息(在這里特指按鍵消息或鼠標消息),wParam和lParam就是消息的兩個參數。

我們先判斷是按鍵消息,并且按下的是enter鍵,這是判斷當前文本框的行數是不是已經達到上限,如果是簡單地將消息的wParam參數設置為0,這樣就修改了文本控件回車按鍵的消息從而達到控制行數的目的。

if (msgFilter->msg == WM_KEYDOWN && msgFilter->wParam == VK_RETURN) {
    
if (m_recText.GetLineCount() >= 3{
     msgFilter
->wParam = 0;
    }

   }
posted on 2008-03-18 23:23 羅朝輝 閱讀(3527) 評論(2)  編輯 收藏 引用 所屬分類: Windows

評論

# re: 如何限制文本框換行 2008-05-30 23:04 hoodlum1980
還有ctrl-v,粘貼,也是需要控制的。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲黄色成人久久久| 亚洲区一区二区三区| 亚洲欧洲在线视频| 免费看亚洲片| 亚洲福利在线视频| 欧美高清在线观看| 久久免费视频这里只有精品| 狠色狠色综合久久| 国产伦精品一区二区三区高清版 | 99re热精品| 欧美99在线视频观看| 欧美精品在线播放| 久久国产主播精品| 欧美全黄视频| 美脚丝袜一区二区三区在线观看 | 亚洲视频在线免费观看| 国产精品毛片a∨一区二区三区|国 | 加勒比av一区二区| 亚洲精品影视在线观看| 国产精品网站在线观看| 免费成人高清在线视频| 国产精品区一区| 亚洲经典自拍| 一区三区视频| 亚洲欧美日韩综合国产aⅴ| 亚洲成人资源| 久久国产一区二区| 香蕉成人伊视频在线观看| 欧美**字幕| 欧美高清视频在线观看| 伊人色综合久久天天五月婷| 亚洲一区二区三区高清| 一区二区三区精品| 欧美日本精品| 日韩视频免费在线| 亚洲视频在线看| 欧美高清视频在线观看| 亚洲国产日韩欧美| 免费不卡中文字幕视频| 亚洲麻豆av| 欧美日韩在线视频首页| 在线亚洲国产精品网站| 欧美日韩日本国产亚洲在线 | 羞羞答答国产精品www一本| 欧美精品一区在线发布| 亚洲精品在线三区| 国产精自产拍久久久久久蜜| 性娇小13――14欧美| 亚洲国产成人在线播放| 欧美电影资源| 久久精品人人做人人爽| 亚洲破处大片| 久久精品国产69国产精品亚洲| 久久久久久久999| 亚洲最新中文字幕| 久久婷婷蜜乳一本欲蜜臀| 亚洲精品国产拍免费91在线| 狠久久av成人天堂| 欧美午夜理伦三级在线观看| 每日更新成人在线视频| 亚洲男女自偷自拍图片另类| 久久免费99精品久久久久久| 夜夜狂射影院欧美极品| 在线免费观看日本欧美| 亚洲午夜未删减在线观看| 免费观看日韩av| 国产欧美日韩一级| 欧美日韩麻豆| 99这里只有久久精品视频| 欧美国产免费| 亚洲国产一区二区a毛片| 欧美一区二区三区免费大片| 欧美天堂亚洲电影院在线播放| 91久久精品日日躁夜夜躁国产| 亚洲国产99| 久久亚洲一区二区| 欧美国产日韩一区二区三区| 欧美不卡视频一区| 欧美国产三区| 亚洲国产精品va在线看黑人| 欧美国产丝袜视频| 欧美a级片一区| 欧美激情片在线观看| 亚洲第一福利社区| 亚洲精品偷拍| 亚洲一区二区三区乱码aⅴ蜜桃女| 一区二区三区国产盗摄| 亚洲欧美日韩直播| 久久久久久精| 欧美另类人妖| 国产精品尤物| 亚洲高清av| 校园春色国产精品| 美国十次成人| 亚洲一级电影| 欧美成人精品三级在线观看 | 狠狠色综合网| 99精品热视频只有精品10| 亚洲一区激情| 亚洲国产欧美一区二区三区久久 | 欧美成人三级在线| 欧美色一级片| 亚洲国产精品久久久久秋霞不卡| 一区二区三区精品视频| 蜜月aⅴ免费一区二区三区| 一区二区三区国产精品| 久久久一区二区| 夜夜嗨av一区二区三区免费区| 久久久久亚洲综合| 国产欧美日本在线| 亚洲午夜av| 亚洲免费观看在线观看| 欧美a级大片| 亚洲精品视频在线观看网站| 久久久久久久久久久久久女国产乱| 一区二区福利| 国产精品卡一卡二卡三| 亚洲资源av| 午夜国产精品视频| 国产亚洲视频在线观看| 久久av一区二区三区| 欧美亚洲网站| 国产专区综合网| 久久综合久久综合九色| 久久国产精品久久久久久电车 | 亚洲第一网站免费视频| 久热精品视频在线观看一区| 久久精品视频免费| 激情国产一区二区| 蜜臀va亚洲va欧美va天堂| 嫩草影视亚洲| 午夜精品久久久久久久久| 亚洲欧美国产高清va在线播| 国产一区二区三区在线免费观看 | 欧美视频你懂的| 亚洲欧美日韩一区二区在线 | 欧美日韩1区2区3区| 亚洲一级黄色片| 久久精品视频va| 亚洲一区二区影院| 久久亚裔精品欧美| 亚洲免费在线| 欧美国产日本在线| 久久天天狠狠| 亚洲一本大道在线| 亚洲高清视频中文字幕| 日韩午夜在线| 亚洲三级影片| 久久久视频精品| 欧美一级理论性理论a| 欧美成人性生活| 欧美xx视频| 国产一区二区三区在线观看免费 | 麻豆av一区二区三区久久| 欧美视频在线观看一区| 欧美α欧美αv大片| 激情综合中文娱乐网| 午夜精品理论片| 亚洲免费一级电影| 国产欧美精品在线| 亚洲午夜一区二区| 亚洲午夜电影网| 欧美日韩一级大片网址| 91久久黄色| 日韩亚洲欧美成人| 欧美精品日韩一区| 亚洲精品免费在线| 一区二区三区鲁丝不卡| 欧美日韩一区二区免费在线观看| 亚洲国产欧美一区二区三区同亚洲| 精品999久久久| 久久一区二区视频| 欧美国产第一页| 午夜性色一区二区三区免费视频| 亚洲欧美国产77777| 国产伦精品一区二区三区视频黑人| 一个人看的www久久| 欧美一区日韩一区| 亚洲精品国产欧美| 欧美视频一区二区三区四区| 午夜视频在线观看一区| 亚洲高清电影| 欧美在线不卡视频| 亚洲国语精品自产拍在线观看| 欧美成人中文字幕| 亚洲图片在区色| 亚洲国产精品久久久| 亚洲在线一区二区| 亚洲激情啪啪| 亚洲高清免费在线| 这里只有精品视频在线| 久久久蜜臀国产一区二区| 制服诱惑一区二区| 亚洲高清在线观看一区| 国产精品一区二区久激情瑜伽| 老牛影视一区二区三区| 久久超碰97中文字幕| 亚洲尤物精选| 在线综合视频| 男人插女人欧美|