旅途

如果想飞得高,就该把地平线忘掉

我在MFC中使用SDK子类化

 WNDPROC oldWndProc;

 LRESULT CALLBACK SubClassFunc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
   if(Message==WM_CHAR&& wParam != '.' && (wParam <= '0' || wParam >= '9') && wParam != VK_BACK)
   {
       MessageBox(NULL,"数字","数字",0);
       return 0;
   }
   else
       return CallWindowProc(oldWndProc,hWnd,Message,wParam,lParam);
}

上面两个是全局的

OnInitDialog()
{

................
 oldWndProc=( WNDPROC)SetWindowLong(::GetDlgItem(this->m_hWnd,IDC_EDIT1),GWL_WNDPROC,(DWORD)SubClassFunc);
..............
}

posted on 2007-07-17 23:47 旅途 阅读(166) 评论(0)  编辑 收藏 引用 所属分类: 深入windows


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理