powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WindowState & Resize
6 сообщений из 6, страница 1 из 1
WindowState & Resize
    #33868515
Sea.kukudas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi all

Вопрос:
Каk узнать при развернутом окне WindowState=2 какие будут свойства(LEFT, TOP, HEIGHT, WIDTH) когда ему сделаем normal WindowState=0

И как узнать что происходит resize _screen'a

Например есть окно с параметрами left = 13, top = 13, height = 666, width = 666

Мы развернули окно у окна стало left = 0 , top = 0, height и width размерам разрешения.

Снова сделали нормальным и откуда fox взял прежние значения?
...
Рейтинг: 0 / 0
WindowState & Resize
    #33868527
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак узнать что происходит resize _screen'a

Нажать F1, найти описание функции BINDEVENT(), там внизу
как раз есть несложный пример.
...
Рейтинг: 0 / 0
WindowState & Resize
    #33870725
po2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
po2
Гость
Нужно юзать GetWindowPlacement(), из структуры WindowPlacement вынуть rcNormalPosition. Описание декларирования по ссыле www.news2news.com , там же пример.
...
Рейтинг: 0 / 0
WindowState & Resize
    #33870768
Sea.kukudas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fox 7.0
...
Рейтинг: 0 / 0
WindowState & Resize
    #33870850
po2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
po2
Гость
...
Рейтинг: 0 / 0
WindowState & Resize
    #33871648
Sea.kukudas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример я перебрал все возможные комбинации байтов по 4 штуки но все время выдаются не те результаты
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
DO decl 
*| typedef struct _WINDOWPLACEMENT { 
*|     UINT  length;               0 : 4  
*|     UINT  flags;                4 : 4  
*|     UINT  showCmd;              8 : 4  
*|     POINT ptMinPosition;       12 : 8  
*|     POINT ptMaxPosition;       20 : 8  
*|     RECT  rcNormalPosition;    28 : 16  
*| } WINDOWPLACEMENT; total bytes =  44  bytes 
#DEFINE WINDOWPLACEMENT_SIZE   44  

LOCAL hWindow, lcBuffer, lnShowCmd 
hWindow = GetDesktopWindow() 

lcBuffer = Chr(WINDOWPLACEMENT_SIZE) +; 
    Repli(Chr( 0 ), WINDOWPLACEMENT_SIZE- 1 ) 

= GetWindowPlacement (hWindow, @lcBuffer) 
? "Minimized window flags:", buf2dword(SUBSTR(lcBuffer,  5 , 4 )) 

* for the Windows Desktop it is usually SW_SHOWNORMAL =  1  
? "Window show state:", buf2dword(SUBSTR(lcBuffer,  9 , 4 )) 

? "Minimized position upper-left:", buf2dword(SUBSTR(lcBuffer,  13 , 4 )),; 
    buf2dword(SUBSTR(lcBuffer,  17 , 4 )) 

? "Maximized position upper-left:", buf2dword(SUBSTR(lcBuffer,  21 , 4 )),; 
    buf2dword(SUBSTR(lcBuffer,  25 , 4 )) 

* one more way to obtain display resolution for your system 
? "Restored position rectangle:", buf2dword(SUBSTR(lcBuffer,  29 , 4 )),; 
    buf2dword(SUBSTR(lcBuffer,  33 , 4 )), buf2dword(SUBSTR(lcBuffer,  37 , 4 )),; 
    buf2dword(SUBSTR(lcBuffer,  41 , 4 )) 

FUNCTION  buf2dword (lcBuffer) 
#DEFINE MAX_DWORD 0xffffffff 
#DEFINE MAX_LONG 0x7FFFFFFF 
    LOCAL lnResult 
    lnResult = Asc(SUBSTR(lcBuffer,  1 , 1 )) + ; 
        Asc(SUBSTR(lcBuffer,  2 , 1 )) *  256  +; 
        Asc(SUBSTR(lcBuffer,  3 , 1 )) *  65536  +; 
        Asc(SUBSTR(lcBuffer,  4 , 1 )) *  16777216  
RETURN Iif(lnResult>MAX_LONG, lnResult-MAX_DWORD, lnResult) 

PROCEDURE decl 
    DECLARE INTEGER GetDesktopWindow IN user32 

    DECLARE INTEGER GetWindowPlacement IN user32; 
        INTEGER hWnd, STRING @lpwndpl 

Мне нужно узнать например при windowsate = 2 не изменяя окно не делая его minimized или normal какие у него будут left,top,heiht,width
P.S вместо функции GetDesktopWindow IN user32
лучше взять _screen.HWND
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WindowState & Resize
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]