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

羅朝輝(飄飄白云)

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

  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 羅朝輝 閱讀(3531) 評論(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>
            欧美偷拍一区二区| 国产日韩欧美一区二区三区四区| 激情亚洲成人| 六十路精品视频| 久久中文字幕一区| 亚洲精品视频中文字幕| 亚洲精品你懂的| 久久理论片午夜琪琪电影网| 性欧美xxxx大乳国产app| 国产一区香蕉久久| 麻豆成人小视频| 欧美日韩99| 欧美一区二区免费观在线| 久久aⅴ乱码一区二区三区| 亚洲电影在线免费观看| 亚洲精选在线| 国产麻豆综合| 欧美va亚洲va日韩∨a综合色| 欧美成人国产一区二区| 亚洲免费在线电影| 久久久久久亚洲精品不卡4k岛国| 亚洲精品美女91| 亚洲一区影院| 欧美日韩无遮挡| 亚洲女爱视频在线| 老牛国产精品一区的观看方式| 99伊人成综合| 久久精视频免费在线久久完整在线看| 亚洲精品欧美在线| 午夜亚洲精品| 日韩视频不卡| 久久精品国产99国产精品| 亚洲裸体视频| 久久激情视频久久| 亚洲午夜日本在线观看| 久久综合网hezyo| 亚洲欧美日韩国产一区二区三区| 久久视频在线看| 午夜精品在线观看| 欧美精品一区二区视频| 久久久美女艺术照精彩视频福利播放 | 欧美视频手机在线| 中文网丁香综合网| 久久一区精品| 久久精品国产欧美亚洲人人爽| 欧美美女视频| 亚洲第一毛片| 国产一区二区观看| 一区二区三区四区五区视频| 亚洲人成毛片在线播放女女| 欧美在线二区| 久久黄色小说| 国产精品影音先锋| 一区二区国产在线观看| 999在线观看精品免费不卡网站| 久久久久久精| 久久资源在线| 精品99视频| 久久久久国产精品一区| 久久成人一区二区| 国产精自产拍久久久久久| 99精品欧美| 亚洲自拍啪啪| 国产精品男女猛烈高潮激情| 中日韩在线视频| 亚洲欧美激情一区| 国产精品一二| 亚洲天堂免费观看| 亚洲一区在线直播| 国产精品视屏| 欧美一二三视频| 久久久久国产精品午夜一区| 久久久久国内| 欧美成人69av| 亚洲三级国产| 欧美日韩视频在线一区二区| 一区二区av在线| 欧美一区二区视频在线观看| 国产无遮挡一区二区三区毛片日本| 午夜在线一区二区| 久久综合影视| 日韩视频免费在线观看| 欧美日韩亚洲一区二区三区在线观看| 一本在线高清不卡dvd | 国产精品久久久久一区二区| 亚洲天堂av电影| 久久久久欧美精品| 亚洲黄色成人| 欧美精品一区在线播放| 亚洲婷婷综合久久一本伊一区| 久久精品欧美日韩精品| 亚洲国产日韩精品| 欧美日韩一区二区三区在线观看免| 一区二区三区鲁丝不卡| 久久精品一区蜜桃臀影院| 亚洲国产精品一区二区久| 欧美日韩国产探花| 欧美中文在线免费| 欧美激情在线有限公司| 亚洲欧美日韩中文在线制服| 激情综合久久| 欧美视频福利| 巨胸喷奶水www久久久免费动漫| 亚洲三级网站| 久久黄色级2电影| 亚洲美女91| 精品9999| 国产日韩av在线播放| 欧美激情91| 久久久久久久一区二区| 亚洲精品综合久久中文字幕| 久久国产精彩视频| 日韩午夜黄色| 1024欧美极品| 国产三区精品| 国产精品成人一区二区| 免费不卡在线观看| 校园春色综合网| 亚洲天堂av高清| 亚洲每日更新| 欧美福利影院| 久久这里有精品15一区二区三区| 亚洲一区视频在线观看视频| 亚洲激情av在线| 激情视频亚洲| 国产午夜精品全部视频在线播放| 欧美精品在线免费| 美女网站在线免费欧美精品| 久久激情综合| 欧美诱惑福利视频| 亚洲欧美日韩在线观看a三区| 亚洲品质自拍| 亚洲国产成人av在线| 奶水喷射视频一区| 麻豆成人在线播放| 久久蜜桃av一区精品变态类天堂| 欧美亚洲视频一区二区| 午夜亚洲性色视频| 一本久久a久久精品亚洲| 欧美成人第一页| 久久精品国产免费看久久精品| 在线一区欧美| 正在播放日韩| 一片黄亚洲嫩模| 亚洲精品字幕| 9久re热视频在线精品| 99人久久精品视频最新地址| 亚洲夫妻自拍| 亚洲精品久久久久久久久久久| 亚洲高清不卡| 日韩午夜中文字幕| 在线一区免费观看| 亚洲综合精品四区| 午夜精品美女久久久久av福利| 亚洲影院高清在线| 午夜在线不卡| 久久九九免费视频| 久久久久久尹人网香蕉| 欧美a级一区| 亚洲欧洲精品一区二区三区 | 亚洲人成毛片在线播放| 亚洲日韩欧美视频一区| 一区二区欧美视频| 亚洲一区二区在线观看视频| 欧美一区二区三区在| 久久男人av资源网站| 欧美激情视频网站| 日韩网站在线| 篠田优中文在线播放第一区| 久久久欧美精品sm网站| 欧美激情aⅴ一区二区三区| 欧美性猛交99久久久久99按摩 | 欧美日韩免费看| 国产精品视频免费观看www| 国产一区久久久| 亚洲人成免费| 欧美制服丝袜| 亚洲区一区二区三区| 亚洲先锋成人| 玖玖国产精品视频| 国产精品福利久久久| 在线成人免费观看| 亚洲自拍偷拍色片视频| 美腿丝袜亚洲色图| 中文国产一区| 欧美电影在线观看| 国产视频欧美视频| 一本久道久久综合狠狠爱| 久久国产精品高清| 亚洲人成人99网站| 欧美一区二区成人6969| 欧美日韩日日骚| 亚洲国产色一区| 久久精品国产精品亚洲综合| 91久久久亚洲精品| 久久久久国产精品一区三寸| 国产精品国产亚洲精品看不卡15| 亚洲国产欧洲综合997久久| 亚洲欧美日韩国产中文| 亚洲精品视频在线播放|