How to discard the default animation when AP launched

原创 2007年09月28日 13:53:00
 
WinCE在开启程序的时候会有主窗口从屏幕中间逐渐扩大至整个屏幕的过程,这是Microsoft好心开了一个Animation的效果,如果需要把此效果关闭,共有以下几种方法:
 
1、修改注册表(SDIDialog::DoModal均适用)
这种方法无需考虑窗口是SDI还是Dialog,因为它是从系统自身的层面上去解决的。用此方法更改后,在该系统平台上运行的所有应用程序除了个别有特别设置的,都会统一地打开或关闭该效果。
具体的注册表项为:
       [HKEY_LOCAL_MACHINE/SYSTEM/GWE] Animate =dword: 0
       0为关闭Animation效果,1为打开。
注意:此方法可用于解决当程序中用CreateProcess或其他函数调用系统程序时,animaiton效果无法用下面几种方法消除的问题。
 
2、SetWindowLong函数(SDIDialog::DoModal均适用)
在全屏语句前添加
::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,WS_EX_NOANIMATION);
注意:如果是SDI窗口,则要确保在该语句前窗口尚未显示,即CreateWindow语句中不能有WS_VISIBLE参数,若要显示窗体则可在全屏语句后用ShowWindow显示。
 
3SDI窗体(MainFrameChildView
1在Overwrite PreCreateWindow函数中加入cs.dwExStyle = WS_EX_NOANIMATION;这样一句话,就可以了!
2用Win32编程,解决办法是在InitInstance函数中使用如下代码:
hWnd = CreateWindowEx(WS_EX_NOANIMATION , szWindowClass, szTitle, WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
替换
hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
这样就可以了。
 
4、Dialog::DoModal 创建的窗口
由于Dialog.DoModal的时候是不调用PreCreateWindow,所以没法重载PreCreateWindow,但是在rc文件中可以看到EXSTYLE WS_EX_APPWINDOW | 0x80000000L这样一行,所以我们在后面添加 | WS_EX_NOANIMATION,这样保存rc,重新编译运行,就可以发现Dialog是一下子显示出来,没有动画效果了。
 

How to set PATH for Finder-launched applications

http://apple.stackexchange.com/questions/51677/how-to-set-path-for-finder-launched-applications
  • bbtree
  • bbtree
  • 2014年09月19日 17:22
  • 219

How to recover when the SAP spool is full

As an SAP Administrator you first notice that for some reason it is taking a long time to create spo...

How to get a type in C++ when its template argument is the argument

First, we can't do : //It's wrong. template U TypeFunc (U p); template U TypeFunc2();//either i...

How to detect when the mouse move away from a TPanel in Delphi ?

using TrackMouseEvent to receive WM_MOUSELEAVE; type TMyPanel = class(TPanel) private FMous...
  • ilvu999
  • ilvu999
  • 2012年10月04日 18:21
  • 373

How to override the default item save event using custom fields

In my former post I wrote about the approach to use custom field types as an alternative way for l...

How to Avoid ConcurrentModificationException when using an Iterator

Java Collection classes are fail-fast which means that if the Collection will be changed while some ...

How to resolve ORA-19706 error when select from dblink

由于通过database link进行远程数据库的数据读取时,会自动同步当前库和远程库的SCN,老杨在文章中做过描述,并且提到: 而对于实际环境中,SCN的增加可能是几倍、几十倍甚至是上百倍,从而引...
  • halou90
  • halou90
  • 2015年12月04日 13:37
  • 849

windows下python如何安装模块或包? How to install package or module in windows OS when using PYTHON?

摘要:本文介绍了在windows下利用cmd安装第三方模块module或包package的方法。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:How to discard the default animation when AP launched
举报原因:
原因补充:

(最多只允许输入30个字)