主题:托盘程序
			
 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()函数里面写相应的加载托盘的程序就可以了
							 
									
			
我来回复