Возвращает значение Windows HWND для окна с заданным дескриптором WHANDLE.
HWND_WhToHwnd(WHANDLE wh) WHANDLE wh; /* Дескриптор окна. */ |
Примечания
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере создается окно и для него с помощью _WhToHwnd( ) получается значение Windows HWND. Затем, чтобы проверить правильность возвращенного программой _WhToHwnd( ) значения, оно используется в качестве аргумента функции Windows.
Код Visual FoxPro
Copy Code | |
---|---|
SET LIBRARY TO WHTOHWND |
Код C
Copy 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 }; |
Смотрите также
Справочное руководство
Процедура библиотеки API _WFindTitle( )Процедура библиотеки API _WOpen( )
Прочие ресурсы
Конструкции библиотеки APIДоступ к API Visual FoxPro
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.