Edhy
Mon Nov 10 20:10:29 CST 2003
Thanks Ook!
--
Edhy Rijo
Programming System Solutions www.progytech.com
Bronx NY
ProMatrix MVP Life
"Ook" <outlookexpress@nospam@embertsdotcom> wrote in message
news:eSCRkf5pDHA.2588@tk2msftngp13.phx.gbl...
> The API code was only used to hide or show the taskbar icon, and for that
I
> used the ShowWindow API call:
>
> Declare Integer ShowWindow in Win32API Integer hWnd, Integer nCmdShow
> ShowWindow(_VFP.Hwnd, 0 )
> ShowWindow(_VFP.Hwnd, 5 )
>
> It hides the window (which is already minimized anyhow) but more
> importantly, it also hides the taskbar icon, which is what I want.
>
> I put the code in _screen.resize, and it simply checks _screen.WindowState
> to see if we are minimized or not. If we are minimized, we hide the
taskbar
> icon. If not, we unhide and set AlwaysOnTop to .T. and then to .F. so that
> the VFP windows is made visible. There is an API call that makes it the
> foreground app, but I haven't had the time to find out which that is, so
> AlwaysOnTop is good enough for now. Before it goes into production I'll
find
> tune it to do things like checking to see if the window is already visible
> before setting it visible, checking to see if the window is on top before
> setting it on top, etc.
>
> Hiding the VFP window by setting _Screen.Visible to .F. also hides the
> systray icon, so that was not an option.
>
>
>
> "Edhy Rijo" <erijo@msn.com.NO_SPAM> wrote in message
> news:OVR21IhpDHA.1948@TK2MSFTNGP12.phx.gbl...
> > Ook,
> >
> > Glad to hear is working for you!
> >
> > In my case it is a simple form, here the code for the Resize:
> > IF THISFORM.WINDOWSTATE = 1 && Minimized
> > THISFORM.HIDE()
> > ENDIF
> >
> > Then in the SysTray click and dlbclick events I simple show the form.
It
> > works quick nice, and not flickering of the form when it is being
> minimize.
> >
> > Even though I use VPM for all my projects, this one was so simple that I
> did
> > it in plain VFP. Can you tell us what API code you used to get the same
> > results?
> >
> > --
> > Edhy Rijo
> > Programming System Solutions www.progytech.com
> > Bronx NY
> > ProMatrix MVP Life
> >
> >
> > "Ook" <outlookexpress@nospam@embertsdotcom> wrote in message
> > news:OiiztFVpDHA.2404@TK2MSFTNGP12.phx.gbl...
> > > Unfortunately it has many forms, it's a larger more complex app. I did
> > > figure out how to make this work, and it's now working very well. It
was
> a
> > > combination of using the systray class for system tray icon
> manipulation,
> > > api calls to hide the tasktray icon, and _screen.resize call to detect
> > when
> > > the app is being minimized or restored. I have not been able to get
the
> > > single/double click to work reliably, so I disabled the doubleclick
> code -
> > I
> > > don't really need the feature.
> > >
> > > It's quite nice actually, next I'm going to try this in a VPM app and
> see
> > > how it works.
> > >
> > >
> > >
> > >
> > > "Edhy Rijo" <erijo@msn.com.NO_SPAM> wrote in message
> > > news:eGZNUsMpDHA.1496@TK2MSFTNGP11.phx.gbl...
> > > > If your application has only one form, here is another way to hide
the
> > > > application:
> > > >
> > > > From your main program call your form like this:
> > > >
> > > > _VFP.VISIBLE = .F.
> > > > DO FORM MyFormName NOSHOW
> > > > READ EVENTS
> > > >
> > > > Then from the Systray click or doubleclick you can show your form
> again.
> > > >
> > > > --
> > > > Edhy Rijo
> > > > Programming System Solutions www.progytech.com
> > > > Bronx NY
> > > >
> > > >
> > > > "Christian Ehlscheid" <ehlscheid@edv-ermtraud.de> wrote in message
> > > > news:bodf4f$pks$07$1@news.t-online.com...
> > > > > Hello,
> > > > >
> > > > > VFP 8 has it's own systray class (systray.vcx @
> > > > > VFPINSTALLDIRECTORY\Samples\Solution\Toledo)
> > > > > look at systray_sample form in the same directory on how to use it
> > > > >
> > > > > and here is info on how to hide the program from the task bar ..
> > > > >
http://support.microsoft.com/?id=175909
> > > > >
> > > > > you also might find this discussion useful:
> > > > >
> > > >
> > >
> >
>
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&oe=UTF-8&threadm=bnr9aj%24
> > > > >
> > > >
> > >
> >
>
re0%2400%241%40news.t-online.com&rnum=5&prev=/groups%3Fq%3Dfoxpro%2Bsystray%
> > > > >
> > > >
> > >
> >
>
2Bclass%26hl%3Dde%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3Dbnr9aj%2524re0%
> > > > > 252400%25241%2540news.t-online.com%26rnum%3D5
> > > > >
> > > > > Regards
> > > > >
> > > > > Christian
> > > > >
> > > > > "Malcolm" <malc@pathwayuk.co.uk> schrieb im Newsbeitrag
> > > > > news:#vw7h0EpDHA.1072@TK2MSFTNGP09.phx.gbl...
> > > > > > I have developed a spam blocking program in vfp8. Works with MS
> > > > Outlook.
> > > > > >
> > > > > > But I want to be able to mimimze the foxpro top-level form to an
> > icon
> > > on
> > > > > the
> > > > > > system tray (on the right where the time is displayed).
> > > > > >
> > > > > > I've found out how to call Shell_NotifyIcon in the API to create
> or
> > > > remove
> > > > > > an icon, but I have no idea how to get rid of the standard
> > application
> > > > tab
> > > > > > on the task bar when the app is running and also, more
> importantly,
> > > > having
> > > > > > got the icon to appear I cant find a way of hooking any foxpro
> code
> > to
> > > > it
> > > > > so
> > > > > > that a click on the icon will make my application re-appear. I
> can
> > > find
> > > > > VB
> > > > > > examples, but I cant translate them into fox.
> > > > > >
> > > > > > Any ideas would be most welcome.
> > > > > >
> > > > > > Malcolm
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>