首页 Delphi中如何控制Windows任务栏的显示

Delphi中如何控制Windows任务栏的显示

举报
开通vip

Delphi中如何控制Windows任务栏的显示 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com Delphi 中如何控制 Windows 任务栏的显示 该文档由国内顶级 IT 视频网络编程教育平台整理发布 为了更有效地利用显示器的空间,多数程序员都有过这样的经验,即通过 Windows 任务栏属性 对话框,在“任务栏选项”页中将任务栏设置为“自动隐藏”,并且为了在需要任务栏时操作方便, 选择任务栏“总在最前”。完成上述设置后,当程序员编辑文档或编...

Delphi中如何控制Windows任务栏的显示
浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com Delphi 中如何控制 Windows 任务栏的显示 该文档由国内顶级 IT 视频网络编程教育平台整理发布 为了更有效地利用显示器的空间,多数程序员都有过这样的经验,即通过 Windows 任务栏属性 对话框,在“任务栏选项”页中将任务栏设置为“自动隐藏”,并且为了在需要任务栏时操作方便, 选择任务栏“总在最前”。完成上述设置后,当程序员编辑文档或编写代码时,任务栏会自动隐 藏,增加了显示器的可利用空间;而当程序员需要操作任务栏时,只需将鼠标移动到任务栏所在 位置的显示器边缘上,这时任务栏就会自动出现。但如果任务栏没有设置成“总在最前”,此时 任务栏就不会自动弹出。 要控制 Windows 任务栏的隐藏和显示,可以通过调用一组 API 函数来实现。这组 API 函数分别 是: (1) FindWindow 函数 该函数通过指定的类名和窗口名来检索指定的高层窗口句柄,如果检索成功,则返回窗口句柄, 否则返回空;另外,需注意改函数不能用于查找子窗口。函数如下: HWND FindWindow(LPCTSTR lpClassName, //类名指针 LPCTSTR lpWindowName //窗口名指针 ); (2) ShowWindow 函数 该函数用于设置指定窗口的显示状态。函数如下: BOOL ShowWindow(HWND hWnd, //指定窗口的句柄 Int nCmdShow //指定窗口的显示状态,可以设置为 SW_HIDE,SW_SHOW 等 ); (3) SetWindowPos 函数 该函数用于设置指定窗口的大小、显示位置和显示顺序等信息。函数如下: BOOL SetWindowPos( HWND hWnd, // 指定窗口的句柄 HWND hWndInsertAfter, // 指定窗口的显示顺序,可以设为如下一组值:HWND_BOTTOM、 HWND_NOTOPMOST、HWND_TOP、HWND_TOPMOST int X, // 指定窗口的横坐标位置 int Y, // 指定窗口的纵坐标位置 int cx, // 指定窗口的宽度 int cy, // 指定窗口的长度 UINT uFlags // 指定窗口的尺寸和位置标记,可以取一组值或这些值的组合 ); 下面本文以一个具体的例子,详细介绍一下在 Delphi 5.0中实现 Windows 任务栏显示和隐藏的 步骤。 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 浪曦网-国内顶级 IT 视频网络编程教育平台 Www.LangSin.Com 1. 创建一个应用程序,在主窗体上增加二个 TButton 组件和一个 TcheckBox 组件。设置其中 一个 TButton 组件的 Caption 属性为“隐藏 Windows 的任务栏”,设置另一个 TButton 组件的 Caption 属性为“显示 Windows 的任务栏”,设置 TcheckBox 组件的 Caption 属性为“总在最前”。 2. 编辑 TForm1.Button1Click(Sender: TObject) 隐藏 Windows 的任务栏,代码如下: procedure TForm1.Button1Click(Sender: TObject); var wndHandle: THandle; //用于存储指定窗口的句柄 wndClass: array[0..50] of Char; //用于存储类名 begin strPCopy(@wndClass[0], 'Shell_TrayWnd'); //获取任务栏类名 wndHandle := FindWindow(@wndClass[0],nil); //获取任务栏窗口的句柄 ShowWindow(wndHandle, SW_Hide); //隐藏 Windows 任务栏 button2.Enabled := True; //设置“显示 Windows 任务栏”按钮变为可操作状态 button1.Enabled := False; //设置“隐藏Windows 任务栏”按钮变为不可操作状态 end; 3. 编辑 TForm1.Button2Click(Sender: TObject) 显示 Windows 的任务栏,并判断“总在最前”TcheckBox 组件是否选中,如果选中,则任务栏总 是显示在最前方,否则任务栏显示在最底层。代码如下: procedure TForm1.Button2Click(Sender: TObject); var wndHandle: THandle; wndClass: array[0..50] of Char; begin strPCopy(@wndClass[0], 'Shell_TrayWnd'); wndHandle := FindWindow(@wndClass[0],nil); ShowWindow(wndHandle, SW_SHOW); //显示 Windows 的任务栏 //判断“总在最前”复选框是否选中 if CheckBox1.checked then //如果选中,则设置任务栏为最顶层窗口 SetWindowPos(wndHandle, HWND_TOPMOST, r.top, r.left, r.bottom, r.right, SWP_NOMOVE) Else //否则,设置任务栏为最底层窗口 SetWindowPos(wndHandle, HWND_BOTTOM, r.top, r.left, r.bottom, r.right, SWP_NOMOVE); //设置按钮的操作状态 button2.Enabled := False; button1.Enabled := True; end; 4. 打开 Windows 任务栏属性对话框,不选中“自动隐藏”和“总在最前”两个复选框,并确定后 关闭该对话框。运行上述创建的应用程序,即可控制 Windows 任务栏的显示和隐藏。
本文档为【Delphi中如何控制Windows任务栏的显示】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_622030
暂无简介~
格式:pdf
大小:103KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2013-03-28
浏览量:13