Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
_SCREEN.hWnd, FindWindow() and MAINHWND()
Message
De
01/08/2001 11:49:19
Gerry Schmitz
GHS Automation Inc.
Calgary, Alberta, Canada
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00537608
Message ID:
00538343
Vues:
119
>You might want to ignore my previous. If you're using MainhWnd(), then you're using Foxtools. In order to get the window handle of a given form, all you need are the functions I mentioned in the other post: _WhTohWnd() and _WFindTitl().

Thanks, George; I hadn't considered them, but it looks like they might work (for Forms in _SCREEN).

>You mentioned that you use an underscore in to indicate a custom property. In keeping with that, the following, in a form's Init event will store its window handle to h_window:
This.h_window = _WhTohWnd(_WFindTitl(This.Caption))
The only thing you need to be careful of are forms with the same caption. This will cause the wrong value to be store in occurrences of the form after the first one. If that's a possibility, then an API based solution might be
required.

I'll evaluate both techniques and decide which is best under the circumstances (including VFP versions). To insure a unique Caption, I guess one can always flip it temporarily to something generated.

As far as the "main VFP window handle" that can be used for "drawing", I had to resort to this to get the proper handle:
IF VERSION( 4 ) = "07"
   _SCREEN.H_Window = _SCREEN.hwnd
ELSE
   _SCREEN.H_Window = GetWindow( MAINHWND(), GW_CHILD )
   _SCREEN.H_Window = GetWindow( _SCREEN.H_Window, GW_HWNDLAST )
ENDIF
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform