系统托盘编程
来源:互联网 发布:nginx 80端口配置 编辑:程序博客网 时间:2024/05/08 06:21
这两天想写个小程序,一个图标在系统托盘上的小程序,于是查了一晚上MSDN,在此作一个小小的总结。
平台:Microsoft Visual Studio 2005
类库:.NET Framework 2.0 (Windows Form)
语言:C++/CLI
我们知道,写一个Windows Form程序,主要就是写一个自己的Form类,不妨取名为MyForm,继承于类库中的Form类。
public ref class MyForm : public System::Windows::Forms::Form
{
…
}
接下来,主要说明一下关于系统托盘的几个控件的导入和编写(其他的按钮等不再说明)。
首先,为了不在任务栏上看到程序的标签,我们先把该标签隐藏。(没有特别说明,下面所有的语句都加入到MyForm的初始化函数中)
this->ShowInTaskbar = false;
然后再来添加系统托盘上的图标。系统托盘图标的空间名为NofityIcon,我们在MyForm类中添加一个私有成员,命名为 notifyIcon1。
private: System::Windows::Forms::NotifyIcon^ notifyIcon1;
只是这样还不能显示图标,我们还需要给程序加载一个系统托盘图标。
this->notifyIcon1->Icon = (cli::safe_cast<System::Drawing::Icon^>(resources->GetObject(L"notifyIcon1.Icon")));
然后我们可以通过notifyIcon1的成员属性Visible来控制是否显示图标。如果显示:
this->notifyIcon1->Visible = true;
当我们把鼠标移动到图标上时,可以出现浮动框。如果只是出现静态文字。我们只需简单的设置notifyIcon1的Text属性。
this->notifyIcon1->Text = “这里为要显示的文字”;
如果要显示更为详细的信息,我们可以通过设置BalloonTipIcon,BalloonTipText,BalloonTipTitle属性来控制。再调用ShowBalloonTip方法来显示。
如果要动态显示,我们可以为上述的几个属性和方法写成一个事件,各属性值为随时取得的所需值。这里不作详细讨论。
基本功能实现了,现在我们需要右键单击图标时,出现一个快捷菜单,这个是程序中常用的功能。
首先,我们建立一个快捷菜单,比如叫ctMenu,作为MyForm的私有成员。
private: System::Windows::Forms::ContextMenuStrip^ ctMenu;
然后我们为notifyIcon1加载该菜单。
this->notifyIcon1->ContextMenuStrip = this->ctMenu;
接下来就是完成这个快捷菜单。这里说下最基本的操作,就是添加菜单。比如我们要添加三个一级菜单。
首先是建立三个菜单。
private: System::Windows::Forms::ToolStripMenuItem^ 菜单1;
private: System::Windows::Forms::ToolStripMenuItem^ 菜单2;
private: System::Windows::Forms::ToolStripMenuItem^ 菜单3;
然后我们加载这些菜单。
this->ctMenu->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(3) {this->菜单1, this->菜单2, this->菜单3});
如果我们 [菜单1] 还有两个二级菜单。我们可以这么做,先定义两个菜单。
private: System::Windows::Forms::ToolStripMenuItem^ 菜单11;
private: System::Windows::Forms::ToolStripMenuItem^ 菜单12;
然后在加载到菜单1上面。
this->菜单1->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->菜单11, this->菜单12});
这些是Windows Form中写系统托盘程序的主要方法,当然要完善这个程序,还是要做很多工作的。
- 系统托盘编程
- 系统托盘编程
- 系统托盘编程
- 系统托盘编程
- 系统托盘编程
- 系统托盘编程完全指南
- 系统托盘编程完全指南
- VC系统托盘编程指南
- VC++系统托盘编程
- VC系统托盘编程指南
- 系统托盘的编程
- VC系统托盘编程
- 系统托盘编程完全指南
- 系统托盘编程完全指南
- 系统托盘编程完全指南
- 系统托盘编程完全指南
- 系统托盘编程中的关键结构
- VC编程制作系统托盘程序
- 触发器实现级连删除
- 转:经济学家张五常教大家四招读书的方法
- 杂感
- 谈谈C#中的六大数组
- SVN1.5服务器安装配置,及于Eclipse关联
- 系统托盘编程
- JAVA 的Socket机制
- signal函数
- (原创2008.07.21)对iris数据进行聚类分析的程序(模式识别)
- 教你如何成为JAVA初级程序员
- VI下讨厌的Backspace键的处理
- ASP中CACHE技术的应用
- 试试编辑器
- WYTC-C#-控制項-TreeView(樹狀檢視)