Freigeben über


_WhToHwnd( ), API-Bibliotheksroutine

Gibt den HWND-Wert des Fensters mit dem angegebenen WHANDLE-Fensterhandle zurück.

HWND_WhToHwnd(WHANDLE wh)
WHANDLE wh;            /* Window handle. */

Hinweise

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel wird ein Fenster erstellt und anschließend der Windows-HWND-Wert für das Fenster mit der Callback-Funktion _WhToHwnd( ) bestimmt. Anschließend wird HWND als Argument an eine Windows-Funktion übergeben, um den von _WhToHwnd( ) zurückgegebenen Wert zu verifizieren.

Visual FoxPro-Code

SET LIBRARY TO WHTOHWND

C-Code

#include <windows.h>
#include <pro_ext.h>

void putLong(long n, int width)
{
   Value val;

   val.ev_type = 'I';
   val.ev_long = n;
   val.ev_width = width;

   _PutValue(&val);
}

FAR WhToHwndEx(ParamBlk FAR *parm)
{
   RECT Rect;
   HWND hwnd;
   WHANDLE wh;
   Value val;

   wh = _WOpenP(10,10,120,240,CLOSE,WINDOW_SCHEME, (Scheme FAR *) 0,
      WO_SYSTEMBORDER);
   _WShow(wh);

//   Get Windows window handle and use as a parameter 
//   to a Windows function
   hwnd = _WhToHwnd(wh);
   GetWindowRect(hwnd, &Rect); // Windows function

   _PutStr("\ntop   ="); putLong(Rect.top, 5);
   _PutStr("\nleft ="); putLong(Rect.left, 5);
   _PutStr("\nbottom ="); putLong(Rect.bottom, 5);
   _PutStr("\nright  ="); putLong(Rect.right, 5);
}

FoxInfo myFoxInfo[] = {
   {"ONLOAD", WhToHwndEx, CALLONLOAD,  ""},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

_WFindTitle( ), API-Bibliotheksroutine | _WOpen( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API