windows mobile 5.0, 打开,关闭input panel(输入法面板), 会导致程序的属性页(CPropertySheet)显示不正常

    技术2022-05-11  61

    做过的一个pocket pc 的程序 , eV4+SP4开发,,。 我的程序主界面下有一个tool bar. ,   其中一个页面是一个属性页用CPropertySheet写的,刚开始在win ce 4.2下开发, 运行正常。  但在window mobile 5.0 下, 切换到属性页面,在打开,关闭输入法的情况下, 那个属性页面会覆盖tool bar.   猜想, 属性页是dialog, 会全屏显示,但在ce .Net4.2下就是正常的。 在网上查了好多资料也没找到答案,  在MSDN里找到了一篇文章, “Software-Based Input Panel",  在打开,关闭输入法时系统会向应用的程序发送 WM_SETTINGCHANGE  消息,  在程序里响应该消息, 改变程序的默认行为, 正好可以解决该问题。代码如下: .h 文件添加,    afx_msg  void  OnSettingChange(UINT uFlags, LPCTSTR lpszSection); .cpp: void  CNetToolsPropSheet::OnSettingChange(UINT uFlags, LPCTSTR lpszSection)  {          // just redraw the PorpertySheet        CRect    rc;        this->GetWindowRect(&rc);            this->MoveWindow(&rc);            //CPropertySheet::OnSettingChange(uFlags, lpszSection);  //must comment this funtional}

    最新回复(0)