Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WindowState & Resize / 6 сообщений из 6, страница 1 из 1
20.07.2006, 22:47
    #33868515
Sea.kukudas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
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
20.07.2006, 23:07
    #33868527
Cyv
Cyv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
авторкак узнать что происходит resize _screen'a

Нажать F1, найти описание функции BINDEVENT(), там внизу
как раз есть несложный пример.
...
Рейтинг: 0 / 0
21.07.2006, 16:18
    #33870725
po2
po2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
Нужно юзать GetWindowPlacement(), из структуры WindowPlacement вынуть rcNormalPosition. Описание декларирования по ссыле www.news2news.com , там же пример.
...
Рейтинг: 0 / 0
21.07.2006, 16:25
    #33870768
Sea.kukudas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
Fox 7.0
...
Рейтинг: 0 / 0
21.07.2006, 16:41
    #33870850
po2
po2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
...
Рейтинг: 0 / 0
22.07.2006, 10:16
    #33871648
Sea.kukudas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WindowState & Resize
Вот пример я перебрал все возможные комбинации байтов по 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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / WindowState & Resize / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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