增加状态栏按钮及其它......

2016-01-29 12:07 6 1 收藏

增加状态栏按钮及其它......,增加状态栏按钮及其它......

【 tulaoshi.com - C语言心得技巧 】

C++ Q&A 专栏...


原著:Paul DiLascia

翻译:lowiq

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)



原文出处:MSDN Magazine December 2001(C++ Q&A)

原代码下载:CQA0112.exe (52KB)
停止屏幕保护 侦测屏幕的分辨率 增加状态栏按钮 我正在写一个紧急情况警报程序,根据所收到的警报消息,我的程序必须能够停止屏幕保护程序或者节能模式并显示显示报警消息,当然也可以 在屏幕保护程序之上显示报警消息。我尝试了用 SetWindowPos(&wndTopMost...),结果不灵,在 Windows 2000 的屏保中也没有成功。我的程序要在 Windows 2000 里运行,请问如何在特定的事件发生时终止屏幕保护? Jungkun 早期在 Windows 3.1 和 Windows 98 时代,你只需获取活动窗口,并且简简单单地发送一条 WM_CLOSE 消息即可:

PostMessage(GetActiveWindow(),WM_CLOSE,0,0);      
  是不是看来很简单?但在Windows 2000下,这个方法不再有效。Windows 2000 中有单独的桌面概念,所以,屏保程序是运行在一个名叫 Screeen-Saver 的特殊桌面中。使用 GetActiveWindow 或是 GetForegroundWindow 是找不到屏保的窗口的,因为它们运行在其他的桌面下。所以,你必须打开 该桌面,枚举它的窗口,然后发送 WM_CLOSE 消息给它。
有关细节参见 Figure 1。

我用 C++ 如何侦测屏幕的分辨率是 640X480 还是 600X800 ?
Amir Dashti
Tehran 只需简单地调用 GetSystemMetrics:
// width int cx = GetSystemMetrics(SM_CXSCREEN); // height int cy = GetSystemMetrics(SM_CYSCREEN);      
  GetSyStemMetrics 是一个很容易使用的函数,它可以用来获得各种类型的全局尺寸,象一个图标的大小或是窗口标题栏的高度。在Windows 2000中 ,有些像 SM_CXVIRTUALSCREEN 和 SM_CYVIRTUALSCREEN 这样的新参数,可以用了获得多监视器系统屏幕虚拟尺寸。无论作为一个 Windows 新丁还是一个老鸟,都应该仔细察看 GetSystemMetrics 的文档,学习所有你能获得不同的系统参数尺寸。详见最新的 Platform SDK 中的 GetSystemMetrics。 这个函数是你经常要用的一个函数,每一版的 Windows 中都有新的变化。

这可能是一个比较简单的问题,我想知道如何在某个应用程序的状态栏添加按钮,就像 Windows 快速启动栏里的按钮那样?

Guru India
我怎样才能在应用程序的状态栏上增加一个按钮或是一个编辑控件(带有上下键的),就象你在 1997 年 MSJ C++ Q&A 专栏中做的 VIRGIL 那样?
Jef Pavlat
状态栏是基于 Windows 通用控件 msctls_statusbar32,这个通用控件并不提供任何方法来添加子窗口。这是不是意味着我们就没有办法解决上面提出的问题呢?当然不!在 Windows 中,在 某些控件或是窗口中添加子窗口并不是将它们作为这些控件的子窗口,而是作为这些控件的兄弟窗口。在现在这种情况下,你有两个选择:一是建立一个“超级状态栏“,它包含一个普通状态栏 以及其它控件子窗口(就像 Windows 结合列表框和编辑框而合成的组合框一样);第二、你也可以直接将按钮或是其它控件直接加在主框架上,就像是状态栏,工具栏 或视图的兄弟窗口一样。
  至于决定使用那种方法取决于你的设计

来源:http://www.tulaoshi.com/n/20160129/1484687.html

延伸阅读
标签: Web开发
利用window.status = "sss";对网页状态栏进行定义。 在IE下,一下子就测试通过了。。但是在firefox下却死活不行。 然后我再对firefox进行普通的window.status赋值,也不行。。 于是查了资料,发现原来window.status在firefox下默认是不能修改的。。 可以通过工具-选项-网页特性-启用javascript-高级-把修改状态栏文本...
CAD状态栏对象捕捉使用实例   对象捕捉是使AutoCAD2013自动捕捉到圆心、端点及中点这样的特殊点。绘图时,可能需要频繁地捕捉一些相同类型的特殊点,AutoCAD2013提供了自动对象捕捉功能。自动对象捕捉又称为隐含对象捕捉。 本节介绍的对象捕捉功能与前面介绍的捕捉模式不同。前面介绍的捕捉模式可以使光标按指定的步距移动,而利用本节...
下面以一个具体的例子,详细介绍一下利用Delphi实现系统状态栏图标的步骤和方法。 1.创建一个应用程序,在主窗体上增加一个TpopupMenu组件。并为该弹出选单组件增加选单项Exit,标题为“退出”。 2.在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI中的函数Shell_NotifyIconA。该函数需要两个参数,其中...
标签: 电脑入门
如何自定义Excel状态栏 一、状态栏位于操作界面的底部,显示当前工作的状态和显示比例等,如图所示: 二、用户可根据需要自定义其显示的项目,其具体操作为,在状态栏的任意位置右击,弹出如图所示: 电脑教程 三、所示的自定义状态栏下拉菜单,在其中选择前面带有√号的选项,可取消该记号,并取消该项在状态栏中的显示;相反,...
iphone状态栏添加动态指南针 你是路痴吗?你是一出门就找不着北吗?如果是的话,也许今天小p要介绍的这款插件会对你有所帮助。我们的都知道 iPhone 内置了指南针应用,可以让你在迷茫中找到方向,但是每次要打开 App 就略显繁琐。装了 DirectionBar 这款插件后,就能直接在状态栏添加一个指南针,而且是动态显示方向的喔! 没错...

经验教程

557

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部