这是我做的一个程序,但是最小化的时候是在显示一个图标在任务栏上。<br>只写出一部分,给你参考一下。<br>由于是在我自己的基础上改的,还没有运行,如果有错误就自己改一下<br>procedure TControlE.PopMenu(var PopMsg:TMessage);<br>var<br> PopUpMenu:TBcBarPopupMenu; //弹出菜单<br> SubItem:array[1..2] of TMenuItem; //菜单的子项<br> PosXY:TPoint; //弹出的位置<br> i:integer;<br>begin<br> if PopMsg.LParam=WM_RBUTTONDOWN //如果是右键<br> then begin<br> PopUpMenu:=TBcBarPopupMenu.Create(self);<br> PopUpmenu.Bar.BarBitmap.Bitmap.LoadFromFile(File_path+'/image/Coolmusicbar.bmp');<br> for i:=1 to 2 do<br> SubItem:=TMenuItem.Create(Self);<br> SubItem[1].Caption:='Show'; <br> PopUpMenu.Items.Add(SubItem[1]);<br> SubItem[2].Caption:='Close'; <br> PopUpMenu.Items.Add(SubItem[2]);<br> if GetCursorPos(PosXY) //获得窗口显示位置<br> then begin<br> PopUpMenu.Popup(PosXY.x,PosXY.y); <br> SubItem[1].OnClick:=PopupShow; <br> SubItem[2].OnClick:=PopupClose;<br> end;<br> end;<br>end;<br>procedure TControlE.PopupShow(Sender:TObject);<br>begin<br> ControlE.Visible:=True; <br> Shell_NotifyIcon(NIM_DELETE,pTaskBarIcon); <br> dispose(pTaskBarIcon); <br>end;<br>procedure TControlE.PopupClose(Sender:TObject);<br>begin<br> Shell_NotifyIcon(NIM_DELETE,pTaskBarIcon);<br> dispose(pTaskBarIcon);<br> Close; <br>end;<br><br>