Windows Mobile 学习笔记之自定义的 CEdit
2010-02-26 21:31:00 来源:WEB开发网核心提示:前章写到自定义的Cedit通知Scroll 滚动并弹出软键盘,实现如下:1)新建一个继承CEdit的类CmyEdit,Windows Mobile 学习笔记之自定义的 CEdit,自定义消息WM_MY#define WM_MY (WM_USER+1000)2)实现消息WM_ONLBOTTONDOWNvoid CmyEd
前章写到自定义的Cedit通知Scroll 滚动并弹出软键盘。
实现如下:
1)新建一个继承CEdit的类CmyEdit,自定义消息WM_MY
#define WM_MY (WM_USER+1000)
2)实现消息WM_ONLBOTTONDOWN
void CmyEdit::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CEdit::OnLButtonDown(nFlags, point);
::SipShowIM(SIPF_ON);//打开软键盘
RECT rc;
GetWindowRect(&rc);
GetParent()->PostMessageW(WM_MY,WPARAM(rc.top));//发送消息,及控件的位置
}
3)在实现的对话框类中新建一个函数用于响应WM_MY
头文件中:
afx_msg LRESULT OnMyMg(WPARAM w,LPARAM l);
cpp文件中:
BEGIN_MESSAGE_MAP(CaddcDlg, CDialog)
……
ON_MESSAGE(WM_MY, OnMyMg)
……
END_MESSAGE_MAP()
实现函数:
LRESULT CaddcDlg::OnMyMg(WPARAM w,LPARAM l)
{
int pos=int(w);
if(pos>py)
OnVScroll(SB_THUMBPOSITION,pos-py,NULL);
return 1;
}
一个自定义的CEdit就完成了。当点击编辑框时弹出软键盘。
更多精彩
赞助商链接