5312|11

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CE 全屏后的系列问题? [复制链接]

CE终于实现了真正的全屏;菜单栏没了,任务栏也看不见了。
但是相关却问题来了:
1、程序运行时候,别人来电话并挂断后,任务栏和输入法BUTTON就显示出来了;
再也不能全屏了,但我看手机QQ能够自动隐藏,并且电话挂断后自动显示;
问:电话来或挂断,窗口是不是能收到某个消息啊?怎么实现啊?
2、全屏后,SIP button也没有了,我是自己枚举所有的IM,然后弹出一个菜单来实现的;
问:有没有更好的方法啊?
3、全屏后,某个EIDT需要客户输入,发现在有些手机上,某些输入法(如:马兰花、A4智能)弹出后,
过会就又马上自动隐藏掉了。但系统自带的拼音输入是不会自动隐藏的;
问:这是不是与我把SIP BUTTON隐藏掉引起的啊?怎么解决这个问题;

SOS????

最新回复

感谢楼主分享。。。  详情 回复 发表于 2009-2-16 13:47
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
是普通CE还是Windows Mobile呀?
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
WINDOW CE...240*320的那种。。。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 

你的EDIT要主动打开或者关闭输入法,直接createwindow出来的EDIT 是不理会输入法的。

任务栏 感觉你需要自己定制 不能用系统自带的,就像输入法列表 都是你自己来实现一样
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

5
 
LZ的任务栏是如何消失的?
LZ所描述的问题,大多与数任务栏及其上的SIP相关。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
任务栏应该在注册表里设置隐藏,而不是用什么特殊方式强行遮蔽。只要正式隐藏的,就不会再次出现。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢各位的解答;
我的全屏主要实现代码如下:
void CCEDlg::SetScreenMode(BOOL bFullScreen)
{
        if (bFullScreen)
        {
                // 隐藏输入面板
                SIPINFO si;
                memset(&si, 0, sizeof(SIPINFO));
                si.cbSize = sizeof(SIPINFO);
                SHSipInfo(SPI_GETSIPINFO, 0, &si, 0);
                if (si.fdwFlags & SIPF_ON)
                {
                        si.cbSize = sizeof(SIPINFO);
                        si.fdwFlags = SIPF_OFF;
                        SHSipInfo(SPI_SETSIPINFO, 0, &si, 0);
                }
                SipShowIM(SIPF_OFF);
                // 隐藏命令栏
                HWND hWnd = SHFindMenuBar(m_hWnd);
        //        ::CommandBar_Show(hWnd, FALSE);   

                // SHFullScreen fails if dialog box is not foreground.   
                //SetForegroundWindow();

                SHFullScreen(m_hWnd, SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON|SHFS_HIDESTARTICON);   

                // Resize the window over the taskbar area.  
                CRect rcScreen;
                rcScreen.SetRect( 0,
                        0,
                        GetSystemMetrics( SM_CXSCREEN ),
                        GetSystemMetrics( SM_CYSCREEN ));
                MoveWindow(&rcScreen, TRUE);
        }
        else
        {               
                // 显示任务栏
                SHFullScreen(m_hWnd, SHFS_SHOWTASKBAR | SHFS_SHOWSTARTICON | SHFS_SHOWSIPBUTTON);
                // 显示命令栏
                HWND hWnd = SHFindMenuBar(m_hWnd);
                ::CommandBar_Show(hWnd, TRUE);  
                // 显示任务栏
                HWND hWndTaskBar = ::FindWindow(TEXT("HHTaskBar"), NULL);
                if (hWndTaskBar != NULL)
                {
                        ::ShowWindow(hWndTaskBar, SW_SHOW);
                        ::EnableWindow(hWndTaskBar, TRUE);
                }       
        }
}

1问题解决了哦,方法如下:
  void CCEDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
        SHFullScreen(m_hWnd, SHFS_HIDETASKBAR|SHFS_HIDESIPBUTTON);                // 当窗口活动的时候保证任务栏隐藏和SIPbutton
        CWnd::OnActivate(nState, pWndOther, bMinimized);
}
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

8
 
现在主要就是第三个问题了,发现当SIPbutton显示出来的时候,输入法面板尽管是A4智能等,也不会隐藏了。。。
我看QQ2008没有隐藏菜单栏的,我的却完全隐藏来实现全屏的。。所以SIPBUTTON也要隐藏。。郁闷啊。。
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

9
 
要全屏,还要用SIP是郁闷呢
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
up
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
哈哈,第三个问题解决了。。。
方法如下:
  在每个要输入的对话框上放个自定义控件;
  定义控件的Class为:SIPPREF
  在程序的CCE××App::InitInstance()中调用SHInitExtraControls();
  就可以,并且当焦点变化的时候(如点击某个EDIT),SIP会自动弹出来了。。

现在还有第二个问题了,
我的想法是这样的
         HWND hWndSIPButton = ::FindWindow(_T("SipWndClass"), NULL); // 找SIP BUTTON
        if (hWndSIPButton != NULL)
        {
                // 模拟发消息
                ::SendMessage(hWndSIPButton, WM_LBUTTONDOWN, 0, 0);
                return;
        }
上面这个肯定不行,大家可有啥知道,知道SIPBUTTON上有啥,向它发啥消息可以弹出输入法选择菜单啊??????????
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

12
 
感谢楼主分享。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表