I have combined Menutray() and added oWnd:hide() on Window minimize button, as followings.
To add oWnd:hide() on minimize button, referred Mr. Enrico Maria Giordano's comments.
Code: Select all | Expand
Function Main() DEFINE Window oWnd TITLE "Test Call" DEFINE BUTTON resource "EXIT" of oBar Message "Exit" Group Action ( lExit:=.t., oWnd:end() ) ACTIVATE WINDOW oWnd Maximized ; ON INIT (oTray := TTrayIcon():New( oWnd, oIcon, "Testing tray ...",; { || MsgInfo( "Left CLick" ) },; { | nRow, nCol | MenuTray( nRow, nCol, oTray ) } ),oWnd:Show()) ; ON RESIZE SHOWRESIZETYPE( nSizeType ) ; VALID ( oWnd:hide(), lExit )Return nil#define SIZE_INIT NIL#define SIZE_RESTORED 0#define SIZE_MINIMIZED 1#define SIZE_MAXIMIZED 2STATIC FUNCTION SHOWRESIZETYPE( nSizeType ) STATIC lInit := .T. DO CASE CASE nSizeType = SIZE_INIT lInit = .F. CASE nSizeType = SIZE_RESTORED .AND. !lInit CASE nSizeType = SIZE_MINIMIZED oWnd:hide() CASE nSizeType = SIZE_MAXIMIZED ENDCASERETURN NILFunction MenuTray( nRow, nCol, oTray ) local oMenu MENU oMenu POPUP MENUITEM "Show" ACTION oWnd:Show(), oWnd:SetFocus() MENUITEM "Hide" ACTION oWnd:Hide() SEPARATOR MENUITEM "Close Application" ACTION ( lExit:=.t., oWnd:end() ) ENDMENU ACTIVATE POPUP oMenu AT nRow, nCol OF oTray:oWndreturn NIL
But, When I clicked oWnd:Show() in Tray, It doesn't roll back to original windows, at one time..
1. It showed..
http://pharmalink.kr/images/Tray01.jpg
2.Click Tray "Show""
http://pharmalink.kr/images/Tray02.jpg
3.Click Bottom icon, again..
http://pharmalink.kr/images/Tray03.jpg
4.Then, It was possible to see Original window..
http://pharmalink.kr/images/Tray04.jpg
How Can I modify my codes?
Thanks in advance..