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

羅朝輝(飄飄白云)

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

  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 羅朝輝 閱讀(3525) 評論(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>
            久久性色av| 免费观看日韩| 亚洲国产精品国自产拍av秋霞| 美女主播精品视频一二三四| 亚洲欧洲综合| 午夜精品短视频| 美日韩精品免费观看视频| 在线亚洲欧美专区二区| 免费观看国产成人| 国产一在线精品一区在线观看| 亚洲裸体视频| 美女黄网久久| 亚洲香蕉视频| 欧美日韩国产探花| 亚洲欧洲一区二区天堂久久| 久久久国产精品一区二区三区| 亚洲精品小视频| 午夜一区不卡| 欧美寡妇偷汉性猛交| 国产亚洲精品v| 91久久久久| 狂野欧美性猛交xxxx巴西| 亚洲欧美日韩国产一区二区| 欧美揉bbbbb揉bbbbb| 亚洲欧洲一区二区三区久久| 久久久亚洲精品一区二区三区| 一区二区激情视频| 欧美韩日一区二区| 欧美亚洲成人免费| 中文在线一区| 欧美激情亚洲精品| 久久久精品tv| 亚洲淫性视频| 国产精品福利在线观看网址| 日韩一区二区精品在线观看| 欧美黄色片免费观看| 久久免费精品视频| 国产午夜精品一区二区三区视频 | 欧美成人嫩草网站| 玖玖玖国产精品| 国产精品a久久久久久| 亚洲第一福利社区| 欧美a级片一区| 免费成人高清在线视频| 91久久精品国产91性色| 欧美国产精品va在线观看| 免费成人美女女| 日韩视频一区二区在线观看| 亚洲精品一区二区三区99| 欧美特黄一级大片| 国产亚洲毛片在线| 蜜桃av综合| 欧美精品福利| 亚洲欧美日韩精品在线| 西西裸体人体做爰大胆久久久| 国语自产精品视频在线看8查询8| 免费不卡在线视频| 欧美精品粉嫩高潮一区二区| 亚洲欧美福利一区二区| 欧美中文字幕在线| 亚洲精品视频中文字幕| 欧美www在线| 久久综合狠狠| 中日韩男男gay无套| 午夜久久久久久| 亚洲精品国产欧美| 亚洲一品av免费观看| 一区二区三区在线看| 亚洲免费av观看| 国产一区二区剧情av在线| 亚洲第一偷拍| 国产精品手机视频| 久久精品国亚洲| 中日韩美女免费视频网址在线观看 | 欧美日韩中文字幕在线| 欧美影院视频| 欧美sm重口味系列视频在线观看| 尤物视频一区二区| 亚洲视频狠狠| 在线日韩中文字幕| 亚洲免费伊人电影在线观看av| 欲色影视综合吧| 亚洲影院色在线观看免费| 亚洲国产美女精品久久久久∴| 亚洲人成在线影院| 国内伊人久久久久久网站视频| 国产欧美日韩一区二区三区在线| 中文日韩在线视频| 欧美日韩精品欧美日韩精品| 欧美一区二区三区免费看 | 美女尤物久久精品| 在线亚洲成人| 久久天天综合| 久久福利毛片| 欧美日韩国产综合网| 麻豆91精品91久久久的内涵| 国产精品视频网址| 亚洲激情在线播放| 国产综合香蕉五月婷在线| 免费观看成人www动漫视频| 欧美体内谢she精2性欧美| 欧美激情精品久久久久久蜜臀| 国产欧美日韩专区发布| 亚洲一区二区三区涩| 一本色道综合亚洲| 欧美福利视频在线观看| 久久国产88| 国产精品久久久久久久第一福利 | 久久精品毛片| 国产欧美一区二区色老头| 亚洲麻豆av| 国产精品毛片在线| 日韩一级黄色av| 99精品热视频| 欧美日韩喷水| 日韩一区二区久久| 亚洲一区二区不卡免费| 欧美色精品在线视频| 18成人免费观看视频| 欧美诱惑福利视频| 久久夜色精品一区| 狠狠色狠狠色综合日日小说| 久久精品视频网| 免费看成人av| 亚洲青涩在线| 噜噜噜躁狠狠躁狠狠精品视频| 久久久噜噜噜久久| 在线观看日韩av电影| 欧美日韩国产综合久久| 欧美在线免费观看视频| 亚洲日本中文| 久久免费视频一区| 国产精品99久久久久久久女警 | 欧美日本不卡高清| 欧美一区二区三区日韩视频| 亚洲国产一成人久久精品| 欧美在线观看视频一区二区| 亚洲欧洲日韩女同| 国产精品一区二区在线观看不卡| 国产精品国产三级国产专播精品人| 一本色道久久综合精品竹菊| 久久综合激情| 亚洲欧美在线磁力| 亚洲精品午夜精品| 国产一区再线| 欧美国产第二页| 久久精品亚洲乱码伦伦中文| 亚洲精品一区二区三区福利| 久久综合色播五月| 亚洲欧美日韩一区在线| 亚洲国产精品99久久久久久久久| 国产精品久久国产精麻豆99网站| 另类激情亚洲| 性欧美大战久久久久久久久| 一本久久知道综合久久| 亚洲激情网站| 亚洲大片在线| 欧美成人嫩草网站| 久热精品视频在线观看| 久久激情视频免费观看| 99re这里只有精品6| 亚洲黄页视频免费观看| 欧美一区二区视频在线观看2020| 久久久久久久久久码影片| 99在线精品视频在线观看| 久久av一区二区三区漫画| 国产精品国产成人国产三级| 欧美一级理论片| 欧美性生交xxxxx久久久| 欧美日韩国产黄| 亚洲欧美日韩中文在线制服| 亚洲调教视频在线观看| 国产精品无码专区在线观看| 免费在线欧美视频| 精品不卡一区二区三区| 久久人人看视频| 在线成人黄色| 国产欧美日韩专区发布| 两个人的视频www国产精品| 欧美一区二区高清在线观看| 亚洲欧美日韩国产成人| 国产日韩精品在线| 欧美成人免费大片| 欧美日韩成人一区二区| 老司机亚洲精品| 性色av一区二区怡红| 国产欧美综合在线| 日韩视频一区二区在线观看 | 久久精品国亚洲| 欧美视频1区| 一区二区激情小说| 亚洲精品免费观看| 欧美一级黄色录像| 国产一区二区三区不卡在线观看| 亚洲一区在线视频| 香蕉久久夜色| 亚洲国产小视频在线观看| 中文精品一区二区三区 | 久久精品女人的天堂av| 国产精品夜夜嗨|