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

happy001smile

happy001smile

2016-01-29 12:07

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

C++ Q&A 专栏...


原著:Paul DiLascia

翻译:lowiq

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



原文出处: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 结合列表框和编辑框而合成的组合框一样);第二、你也可以直接将按钮或是其它控件直接加在主框架上,就像是状态栏,工具栏 或视图的兄弟窗口一样。
  至于决定使用那种方法取决于你的设计
展开更多 50%)
分享

猜你喜欢

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

C语言教程 C语言函数
增加状态栏按钮及其它......

Access 2007 状态栏

编程语言 网络编程
Access 2007 状态栏

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Access 2007状态栏

编程语言 网络编程
Access 2007状态栏

看懂Word状态栏

办公软件
看懂Word状态栏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

adobe dreamweaver教程状态栏

Dreamweaver 电脑应用
adobe dreamweaver教程状态栏

妙用Word 2000状态栏

办公软件
妙用Word 2000状态栏

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用JSP读取客户端信息

使用JSP读取客户端信息

图象显示和翻转控件(用户自定义控件)

图象显示和翻转控件(用户自定义控件)
下拉加载更多内容 ↓