5577|9

60

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在wince6.0平台上如何将模拟器中任务栏上的软键盘的位置调整到桌面上的任意一个位置? [复制链接]

在wince6.0界面下,将生成的模拟器界面中的任务栏上的软键盘的位置调整到桌面上的任意一个位置,该如何操作?谢谢!
此帖出自WindowsCE论坛

最新回复

对taskbar.cpp中关于软键盘的代码进行了屏蔽,并且在explorer.cpp代码中添加如下代码: DWORD WINAPI CreateSip(LPVOID pEvent)   {         RETAILMSG(1,(L"012536\r\n"));     HANDLE hSyncEvent = *((HANDLE *) pEvent);     CSip *pSip = NULL;         CSip *g_Sip = NULL;     HWND hwndTB = NULL;         pSip = new CSip;     if(!pSip)     {         SetEvent(hSyncEvent);         return 0;     }     g_Sip = pSip;     if(!pSip->Register(g_hInstance))     {         g_Sip = NULL;         delete pSip;         SetEvent(hSyncEvent);         return 0;     }     //RegisterSip(pSip->GetWindow());     SetEvent(hSyncEvent);     DWORD dwRet = pSip->MessageLoop();     delete pSip;         RETAILMSG(1,(L"012568\r\n"));     return dwRet; } hSipSyncEvent = CreateEvent(NULL, FALSE, FALSE, NULL);     if (!hSipSyncEvent)     {         goto Cleanup;     }     hThread = CreateThread(NULL, NULL, CreateSip, &hSipSyncEvent, 0, NULL);     WaitForSingleObject(hSipSyncEvent, INFINITE);     // GetExitCodeThread(); // Test for failure?     CloseHandle(hThread);     CloseHandle(hSipSyncEvent); 但是添加以上代码之后编译出来的模拟器界面上没有出现我想要的软键盘的图标,并且在我屏蔽了taskbar.cpp中的软键盘的代码之后,编译出来的模拟器界面上还存在软键盘的图标,不知道是怎么回事?还望高手赐教!   详情 回复 发表于 2010-5-10 13:14
点赞 关注
 

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
获得窗口句柄,然后MoveWindow
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
具体些呢?
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(高级)

4
 
直接movewindow是不行的,因为该软键盘的一切属性都隶属于taskbar,所以直接movewindow会报错。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
楼主可以用SipSetInfo()试试看,它可以用来设置软键盘的位置。
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

6
 
SipSetInfo()函数所修改的只是在桌面上显示的软键盘的位置,而我想要修改的是任务栏中的那个键盘的图标的位置,也就是将任务栏上键盘的图标移动到桌面上去,点击该图标之后所实现的功能跟该图标在任务栏中时的功能一样。不过还是谢谢你的回复!
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
好像实现不了的吧,那个键盘按钮都是与任务栏合在一起的。不过你可以模拟键盘按钮,自己建一个按钮,点一下那按钮就调出键盘即可
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
想直接移动,是不行的

只能靠编程来自己实现一个类似的按键
此帖出自WindowsCE论坛
 
 
 

回复

52

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 5 楼 hanbing081112 的回复:
SipSetInfo()函数所修改的只是在桌面上显示的软键盘的位置,而我想要修改的是任务栏中的那个键盘的图标的位置,也就是将任务栏上键盘的图标移动到桌面上去,点击该图标之后所实现的功能跟该图标在任务栏中时的功能一样。不过还是谢谢你的回复!


如果是这样,那你需要自己实现一个置顶的可拖动的窗口做这个事情了。
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

10
 
对taskbar.cpp中关于软键盘的代码进行了屏蔽,并且在explorer.cpp代码中添加如下代码:
DWORD WINAPI CreateSip(LPVOID pEvent)  
{
        RETAILMSG(1,(L"012536\r\n"));
    HANDLE hSyncEvent = *((HANDLE *) pEvent);
    CSip *pSip = NULL;
        CSip *g_Sip = NULL;
    HWND hwndTB = NULL;
   
    pSip = new CSip;
    if(!pSip)
    {
        SetEvent(hSyncEvent);
        return 0;
    }

    g_Sip = pSip;
    if(!pSip->Register(g_hInstance))
    {
        g_Sip = NULL;
        delete pSip;
        SetEvent(hSyncEvent);
        return 0;
    }
    //RegisterSip(pSip->GetWindow());
    SetEvent(hSyncEvent);

    DWORD dwRet = pSip->MessageLoop();

    delete pSip;
        RETAILMSG(1,(L"012568\r\n"));
    return dwRet;

}
hSipSyncEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
    if (!hSipSyncEvent)
    {
        goto Cleanup;
    }
    hThread = CreateThread(NULL, NULL, CreateSip, &hSipSyncEvent, 0, NULL);
    WaitForSingleObject(hSipSyncEvent, INFINITE);
    // GetExitCodeThread(); // Test for failure?
    CloseHandle(hThread);
    CloseHandle(hSipSyncEvent);
但是添加以上代码之后编译出来的模拟器界面上没有出现我想要的软键盘的图标,并且在我屏蔽了taskbar.cpp中的软键盘的代码之后,编译出来的模拟器界面上还存在软键盘的图标,不知道是怎么回事?还望高手赐教!

此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表