主题:托盘程序
flyskylf
[专家分:0] 发布于 2005-10-01 22:30:00
我做了一个托盘程序,想实现如下功能,窗体最小化后,双击鼠标左键,窗体不再跳出,单击鼠标右键有菜单跳出。
请大侠们指教!
回复列表 (共7个回复)
沙发
megadeath [专家分:460] 发布于 2005-10-03 08:52:00
在BCB6 中增加 TrayIcon组件(在Samples页签下)
设置
Form1->Visible = false;
Form1->TrayIcon1->Visible = true;
为窗体不可见,tray可见,反向设置为窗体可见,tray不可见
tray的菜单要先制作一个子菜单(PopupMenu),然后加到TrayIcon组件的PopupMenu属性中,这样在右键的时候就能弹出菜单了
板凳
flyskylf [专家分:0] 发布于 2005-10-03 14:26:00
如何使程序一启动就只显示在右下角的任务栏里
3 楼
cljhadream [专家分:50] 发布于 2005-10-04 15:26:00
想程序一开始就只显示在托盘上,在Form1->Create()事件在加入:
Form1->Visible = false;
Form1->TrayIcon1->Visible = true;
就行了
4 楼
langboy [专家分:130] 发布于 2005-10-06 21:00:00
恩,我试着做了下这个程序,很奇怪,Form1还是可见,添加了popupMenu1了,托盘处右击没反应
什么原因???
添加的代码;
仅仅
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Visible=false;
Form1->TrayIcon1->Visible=true;
}
//------------------------------------------------------------------
void __fastcall TForm1::N2Click(TObject *Sender)//退出程序
{
exit(1);
}
//-----------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)//打开主窗口
{
Form1->Visible=true;
}
真是郁闷!![em17]
5 楼
gujinguo [专家分:90] 发布于 2005-10-10 11:45:00
在这个FormCreate()的函数里面写是没有用的,因为那时窗体正在创建中啊,可以打开工程的实现文件。如果没有改名字就是应该叫project1.cpp,在他的try里面添加以下几行代码就可以了:
try
{
Application->Intialize;
6 楼
gujinguo [专家分:90] 发布于 2005-10-10 11:48:00
在这个FormCreate()的函数里面写是没有用的,因为那时窗体正在创建中啊,可以打开工程的实现文件。如果没有改名字就是应该叫project1.cpp,在他的try里面添加以下几行代码就可以了:
try
{
Application->Initialize();
ShowWindow(Application->Handle,SW_HIDE);
Application->ShowMainForm=false;
}
7 楼
gujinguo [专家分:90] 发布于 2005-10-10 11:49:00
然后再在FormCreate()函数里面写相应的加载托盘的程序就可以了
我来回复