Delphi: 模态窗体最小化】的更多相关文章

在使用delphi创建模态窗体的时候最小化窗体会导致最小化的窗体不可见,再次点击主窗体才会显示. 在这个模态窗体中增加以下函数 procedure WmSysCommand(var msg: TMessage); message WM_SYSCOMMAND; procedure TForm1.WmSysCommand(var msg: TMessage); begin inherited;//必须加,否则模态窗关闭最大化还原将不能用 if msg.WParam = SC_MINIMIZE the…
源起: 近期所介入的几个项目中,最后视频生成窗体,为一模态对话框.因生成时间可能较长,所以其窗体可以最小化,它最小化时同时最小化主程序,唤醒时主程序再复原. 代码亦是8年前本人所写,一直那样用了,也没什么不妥,但总感觉显示效果有优化空间,回头看看当初代码少了些简练.于是用些时间做些验证,寻得相对好点的优化方案. 1.最初实现: 方式是接管模态窗体WM_SYSCOMMAND消息,拦截SC_MINIMIZE窗体最小化消息值进行处理,代码如下: type TfrmModal = class(TForm…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFYICONDATAA = record   cbSize: DWORD;   Wnd: HWND;   uID: UINT;   uFlags: UINT;   uCallbackMessage: UINT;   hIcon: HICON;   szTip: array [0..63] of Ansi…
应用程序有托盘图标,窗体最小化或者隐藏窗体时,点击托盘图标需要恢复窗体显示,并且恢复之前的现实状体,正常大小或者最大化显示.例如:最大化显示窗体时,点击最小化按钮,窗体最小化,点击托盘图标将最大化显示主窗体. IsIconic(m_hWnd) 判断主窗体是否最小化 调用::ShowWindow(m_hWnd, SW_RESTORE); 恢复最小化窗体的显示. IsWindowVisible(m_hWnd) 判断窗体是否隐藏,调用ShowWindow(m_hWnd, SW_SHOW) 显示隐藏的窗…
一 基本功能 1. 这里是用 NotifyIcon 控件来实现,但 WPF 下没有 NotifyIcon  控件,怎么办,用 WinForm 下的呗. 先引用  .NET 自带的两个程序集 System.Windows.Forms 是用来使用 NotifyIcon 控件的:System.Drawing 是用来引用图标文件的 2. 图标 3. 设置图标属性 4.这里很重要,因为程序运行后,会在运行程序目录下去找图标文件,这样设置后就会在应用程序目录下生成对应的文件,如果不设置,到时候出错就找不到原…
我们知道,当我们需要对Control进行截图时,我们可以使用Control.DrawToBitmap()进行截图, 那么问题来了,当我们的窗体最小化了,我们还怎么截图呢? 当窗体最小化的时候,我们知道Control的size为(0,0),那么你截图的话也就没有或者一片漆黑,嘿嘿 其实我们可以这么搞来曲线救国,请往下看! 假如我们需要截图 TabControl的图片呢,我们要怎么做呢? 因为最小化会将该控件的Size设置为(0,0),所以我们控制他的Size就可以了, 我们修改MininmumSi…
一 基本功能1.  首先新建一个窗体,然后拖入一个名为 NotifyIcon 的控件,名字我没有改,就那个名字 2. 我的应用程序下有些图标文件,这里我用这个图标,我选择 013.ico 3. 选择 notifyIcon 控件 - 右键 - 属性 4. 点击Icon 属性- 选择图标文件呗 5.切换到事件-双击那个 DoubleClick 事件产生事件 6. 同样的 Form4 窗体也产生一个事件 7.代码奉上 private void Form4_SizeChanged(object send…
程序新手,如果有不恰当的地方,请大家帮忙改正! 1.下载并安装Raize.v5.5控件,delphi版本为:delphi 7.0. 2.添加RzTrayIcon控件.PopupMenu控件至窗体上. 3.程序代码示例: unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, RzTray, ImgList, Menus; typ…
ICO文件要放到 bin\Debug 下 1.给主窗体添加 NotifyIcon 控件 2.窗体加载事件里 private void MainF_Load(object sender, EventArgs e) { this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); notifyIcon1.Icon = new Icon("JC.ico"); notifyIcon1.Visible = fal…