社区
Windows SDK/API
帖子详情
我不会所以难!(窗口最小化问题)
forceboy
2005-03-09 03:11:04
我想将一个窗口在按下最小化的按钮后成为托盘,请问我该怎样获得最小化按钮的事件并加以处理?
...全文
105
9
打赏
收藏
我不会所以难!(窗口最小化问题)
我想将一个窗口在按下最小化的按钮后成为托盘,请问我该怎样获得最小化按钮的事件并加以处理?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ww425
2005-03-09
打赏
举报
回复
这个是动态的系统托盘图标显示,设定好后不用代码就可以
属性 值
Animate true
AnimateInterva 1000
Hide true
Hint Tary演示程序
IconIndex 0
Icons ImageList1
Name TrayIcon1
PopupMenu PopupMenu1
PopupMenuOn imRightClickUp
RestoreOn imDoubleClick
Visible true
nj_daiting
2005-03-09
打赏
举报
回复
不需要拦截消息呀。
在 TrayIcon 消息处理函数 TrayIcon1Minimize 里加代码处理最小化事件时的代码就可以了,试过了。
h98458
2005-03-09
打赏
举报
回复
void __fastcall TfrmLogHook::WndProc(Messages::TMessage&Message)
{ //重载wndproc,处理个各种系统消息
POINT MousePos;
if(Message.Msg==iconmessage)
{
if(Message.LParam==WM_LBUTTONDBLCLK)
{
Application->Terminate();//如果双击图标,则关闭应用程序
}
else if(Message.LParam==WM_LBUTTONDOWN)
{
Show();
}
else if(Message.LParam==WM_RBUTTONUP)
{
if (GetCursorPos(&MousePos))
{
PopupMenu1->PopupComponent=frmLogHook;
SetForegroundWindow(Handle);
PopupMenu1->Popup(MousePos.x, MousePos.y);
}
}
return;
}
TForm::WndProc(Message);//对于其他的消息,调用基础类的WndProc函数让Windows进行缺省处理。
}
h98458
2005-03-09
打赏
举报
回复
给你一段程序吧,不用TRAYICON1了:
void __fastcall TfrmLogHook::SelectTrayTcon(DWORD Add)
{
if(Add==NIM_ADD)
{
NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata));
icondata.cbSize=sizeof(icondata);
icondata.hWnd=Handle;
strncpy(icondata.szTip,"我的托盘",sizeof(icondata.szTip));
icondata.hIcon=Application->Icon->Handle;
icondata.uCallbackMessage=iconmessage;
icondata.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;
Shell_NotifyIcon(Add,&icondata);
}
else if(Add==NIM_DELETE)
{
NOTIFYICONDATA icondata;
memset(&icondata,0,sizeof(icondata)); //将结构icondata的各域初始化为0
icondata.cbSize=sizeof(icondata);
icondata.hWnd=Handle;
Shell_NotifyIcon(NIM_DELETE,&icondata);
}
}
///////////////////////////////////
void __fastcall TfrmLogHook::FormCreate(TObject *Sender)
{
iconmessage=RegisterWindowMessage("IconNotify");
SelectTrayTcon(NIM_ADD);
}
//---------------------------------------------------------------------------
void __fastcall TfrmLogHook::FormDestroy(TObject *Sender)
{
SelectTrayTcon(NIM_DELETE);
}
h98458
2005-03-09
打赏
举报
回复
其实直接用TRAYICON1,设置它属性就可以了
还可以为托盘选择菜单,设置它的PopupMenu属性
forceboy
2005-03-09
打赏
举报
回复
请问我要如何拦截WM_SYSCOMMAND?
jinhaiwu
2005-03-09
打赏
举报
回复
拦截WM_SYSCOMMAND,当CmdType==SC_MINIMIZE时做你要做的事情,其他的继承原来的函数就可以了。
forceboy
2005-03-09
打赏
举报
回复
我是用的TRAYICON1组件,我是在它的ONMINIMIZE事件中写代码
FORM1->visible=false;
TrayIcon1->Antimate=true;
但是为什么不能使它成为一个托盘呢??
h98458
2005-03-09
打赏
举报
回复
用TrayIcon1组件不就OK了?然后在它的OnMinimize事件中写代码
VC++完整商业界面源码(再上传)
现在不需要资源积分了,看能不能下,不知道为什么刚才上传... 这是一个完整
窗口
界面的源代码,重写了标题拦,最大化,
最小化
按钮,边框,编辑框控件,按钮控件,标签控件。这是一个
难
得的完整编码,请使用VC++6.0编译。
python
窗口
最小化
_如何让tkinter
窗口
最小化
GUI编程,代码可以控制程序
窗口
的最大化,或者全屏显示,也可以控制
窗口
的
最小化
。本文介绍如何实现tkinter
窗口
的
最小化
,这一文写完,同学们对
窗口
的最大化,
最小化
,全屏,就都可以实现代码级的操控了。>>&...
记事本
窗口
最小化
问题
最近几天,打开记事本文件总是出现记事本
窗口
最小化
的情况,如多所示:,一直不知道是什么原因。以为是电脑设置
问题
。但是发现同一台机子切换过用户以后,却没有出现这种情况。所以断定这不是电脑设置
问题
。而是个人...
子
窗口
不随着父
窗口
最小化
而
最小化
在父
窗口
上用非模态方式创建子
窗口
,当
最小化
父
窗口
时,子
窗口
也随着父
窗口
最小化
,下面的方法解决了子
窗口
不随着父
窗口
最小化
; DialogTool = *pTool; pTool = new DialogTool; pTool->Create(IDD_DIALOG_TOOL,...
桌面计算机
最小化
,
最小化
我的电脑
窗口
打开总是
最小化
,如何把它 – 手机爱问...
2018-03-29
窗口
最大化我的浏览器点击打开后,弹出的
窗口
总是
最小化
,该怎样解决?最主要的是如何保持后面新弹出的
窗口
都是最大化的。1、把所有的IE
窗口
关了;只打开一个IE
窗口
;最大化这个
窗口
;关了它;OK,以后的默认...
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章