Создает новое окно с координатами, заданными параметрами top, left, bottom, и right.
WHANDLE _WOpen(int top, int left, int bottom, int right, int flag,
int scheme_num, Scheme FAR *scheme, char FAR *bord)
int top; /* Строка с верхней координатой. */
int left; /* Столбец с левой координатой. */
int bottom; /* Строка с нижней координатой. */
int right; /* Столбец с правой координатой. */
int flag; /* Атрибуты. */
int scheme_num; /* Цветовая схема. */
Scheme FAR *scheme; /* Указатель используемой цветовой схемы. */
char FAR *bord; /* Тип обрамления. */ |
Примечания
Координаты окна могут определять позицию вне экрана,но высота не может превышать 120, а ширина 264. Для хранения внеэкранного изображения такого окна выделяется дополнительная память.
Параметр flag определяет атрибуты для данного окна. В flag можно задать одно или несколько значений. Вы можете комбинировать их значение с помощью операторов | или + языка C. Типичные виды обрамления окна определены в файле PRO_EXT.H.
| Значение flag | Атрибут окна |
|---|---|
|
WCURSOR |
В данном окне можно отображать курсор. |
|
ZOOM |
Пользователь может увеличивать окно. |
|
ADJ |
Пользователь может регулировать размер окна. |
|
CLOSE |
Пользователь может закрывать окно. |
|
MOVE |
Пользователь может перемещать окно. |
|
AUTOSCROLL |
Содержимое окна прокручивается, когда вывод переходит за последнюю строку. |
|
WEVENT |
Окно принимает, активизирует и деактивизирует события. |
|
SHADOW |
Окно образует затенение. |
|
WMODAL |
Пользователь не может перевести это окно на задний план. |
|
WMINIMIZE |
Пользователь может сворачивать данное окно. |
В качестве scheme_num m можно задать любой допустимый номер цветовой схемы или - 1 чтобы указать, что параметр scheme задает цветовую схему, которую надлежит использовать.
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере создаются окна, использующие различные цветовые схемы и обрамления. В частности, обратите внимание на цветовую схему custom.
Код Visual FoxPro
Copy Code | |
|---|---|
SET LIBRARY TO WOPEN | |
Код C
Copy Code | |
|---|---|
#include <pro_ext.h>
FAR Example(ParamBlk FAR *parm)
{
WHANDLE wh;
Scheme customScheme =
{
(char) (BLACK_ON | WHITE),
(char) (RED_ON | BLACK | BLINK),
(char) (WHITE_ON | WHITE | BRIGHT),
(char) (CYAN_ON | BLUE | BRIGHT),
(char) (GREEN_ON | BROWN),
(char) (BROWN_ON | BROWN | BRIGHT),
(char) (MAGENTA_ON | MAGENTA | BRIGHT),
(char) (RED_ON | MAGENTA | BRIGHT | BLINK),
(char) (BROWN_ON | GREEN | BRIGHT),
(char) (BLACK_ON | CYAN),
(char) (BLUE_ON | CYAN),
};
_Execute("WAIT WINDOW 'Press any key to see a window \
in WINDOW_SCHEME with WO_DOUBLEBOX border'");
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
WO_DOUBLEBOX);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in ALERT_SCHEME with WO_SINGLEBOX border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,ALERT_SCHEME, (Scheme FAR *) 0,
WO_SINGLEBOX);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in WINDOW_SCHEME with WO_PANELBORDER border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,WINDOW_SCHEME,(Scheme FAR *) 0,
WO_PANELBORDER);
_WShow(wh);
_Execute("WAIT WINDOW 'Press any key to see a window \
in a custom scheme with WO_SYSTEMBORDER border'");
_WClose(wh);
wh = _WOpen(2,2,20,70,WEVENT | CLOSE,-1,(Scheme FAR *) customScheme,
WO_SYSTEMBORDER);
_WShow(wh);
FoxInfo myFoxInfo[] = {
{"ONLOAD", (FPFI) Example, CALLONLOAD, ""},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
}; | |
Смотрите также
c Microsoft Corporation. All rights reserved. Microsoft is not reponsible for the contents of the translated help topics.