5220|9

78

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince 5 沙漏(Hourglass)显示问题:点击屏幕,沙漏才有漏沙效果. [复制链接]

刚刚发现的问题,wince 5中用EVC 写应用程序自己调用显示沙漏,
第一种情况:如下,在初始化时显示沙漏持续5s钟,实际效果是,我双击打开应用程序,什么也看不到,如果我点击下屏幕,就会显示出沙漏,如不笔离开屏幕,沙漏也立刻消失.好像只有在点击屏幕是才会有沙漏出现.

  1. BOOL CHourGlassDlg::OnInitDialog()
  2. {
  3.         CDialog::OnInitDialog();

  4.         // Set the icon for this dialog.  The framework does this automatically
  5.         //  when the application's main window is not a dialog
  6.         SetIcon(m_hIcon, TRUE);                        // Set big icon
  7.         SetIcon(m_hIcon, FALSE);                // Set small icon
  8.        
  9.         CenterWindow(GetDesktopWindow());        // center to the hpc screen

  10.         SetCursor(::WCE_FCTN(LoadCursor)(NULL,IDC_WAIT));
  11.         Sleep(5000);
  12.         SetCursor(NULL);       
  13.         return TRUE;  // return TRUE  unless you set the focus to a control
  14. }
复制代码


第二种情况:如下,在按钮按下事件中调用显示沙漏5秒钟,结果是我点击按钮,沙漏图标会出现,但沙漏不动,没有漏沙的效果,当点击一下屏幕就会出现漏沙的效果,不点击屏幕则没有漏沙的效果.
  1. void CHourGlassDlg::OnHourglass()
  2. {
  3.         // TODO: Add your control notification handler code here
  4.         SetCursor(AfxGetApp()->LoadCursor(IDC_WAIT));
  5.         Sleep(5000);
  6.         SetCursor(NULL);
  7. }
复制代码


我把上面同一个应用程序放到win mobile的系统里,沙漏的效果都很正常,初始化时和点击按钮都会出现动画的沙漏.这好像和wince系统有关系了.
各位有没有遇到类似的问题,请指点下.谢谢啦.
此帖出自WindowsCE论坛

最新回复

解决了,结贴. 在C:\WINCE500\PLATFORM\ZYLONITE_MHL下的cebasecesysgen_cebase.bat 文件里加上set SYSGEN_CURSOR=. 沙漏就正常显示动画了. 这个问题怎么大家都没遇到呢?英文搜索结果到时有很多人遇到这个问题.   详情 回复 发表于 2009-2-4 13:04
点赞 关注
 

回复
举报

89

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
老大,当你Sleep(5000);
的时候程序就阻在那里了,沙漏怎么会有变化的,在Sleep的时候,你的窗口不再处理任何消息了。
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
ultrapro
我试了,在BOOL CHourGlassDlg::OnInitDialog()里去掉
     Sleep(5000);
    SetCursor(NULL);
之后,效果还是没有沙漏出现,只是在点击屏幕时会出现沙漏.
在  
void CHourGlassDlg::OnHourglass()
{
    // TODO: Add your control notification handler code here
    SetCursor(AfxGetApp()->LoadCursor(IDC_WAIT));
    //Sleep(5000);去掉这两句
    //SetCursor(NULL);
}
之后,点击按钮后,只时沙漏只是一闪就没有了,再点击屏幕也没有了.
而再win mobile上都是可以正常出现的.
此帖出自WindowsCE论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
在OnInitDialog()里面最好不要做与界面相关的操作
因为这个时候根本就没有界面
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
实际效果是,我双击打开应用程序,什么也看不到,(因为在initial的时候sleep(5000),这个时候根本没有界面,所以什么也没有)
如果我点击下屏幕,就会显示出沙漏(当点击的时候可能会刷新窗口,对界面的修改才会起作用),如不笔离开屏幕(??),沙漏也立刻消失.好像只有在点击屏幕是才会有沙漏出现.
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

6
 
如果笔离开屏幕,即不点击屏幕,沙漏也立刻消失.好像只有在点击屏幕是才会有沙漏出现.
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 3 楼 jinlking 的回复:
在OnInitDialog()里面最好不要做与界面相关的操作
因为这个时候根本就没有界面


谢谢指点,
因为我们这个是作测试,我们对EVC也不是很熟.所以就放在OnInitDialog()了.
这个问题是客户应用时遇到的,在wince下,他们的应用程序处理大量数据时,需要时间时,需要显示沙漏,发现不正常,所以让我们来解决了.我们就自己写了个简单的沙漏的程序来看看了.
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
mark下。。沙漏问题。
此帖出自WindowsCE论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

9
 
http://www.pocketpcjunkies.com/Uwe/Forum.aspx/wince-pb/11133/Hourglass-Needs-tapping
上面网址的问题和我的一样.
说是这样解决的:
removing the SYSGEN_CURSOR (mouse) component from the OS design
resolved this.
PB里不能直接删除MOUSE.
在C:\WINCE500\PLATFORM\ZYLONITE_MHL下的PB5x_Cmd_Line_Bld_Env_Vars.bat加上了set SYSGEN_CURSOR=结果一样.
不知道如何在哪里设置 set SYSGEN_CURSOR=
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

10
 
解决了,结贴.
在C:\WINCE500\PLATFORM\ZYLONITE_MHL下的cebasecesysgen_cebase.bat 文件里加上set SYSGEN_CURSOR=.
沙漏就正常显示动画了.

这个问题怎么大家都没遇到呢?英文搜索结果到时有很多人遇到这个问题.

此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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