On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение



Пост N: 26
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 08.02.07 10:14. Заголовок: Размер экрана


Товарищи, кто подскажет - простой вопрос, а поставил меня в тупик. Хочу привязать размеры окна к размерам экрана. Как получить последние? MaxRow() и MaxCol() выдают совсем не то. Заранее благодарен.

Спасибо: 0 
Профиль
Ответов - 3 [только новые]


модератор




Пост N: 430
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 08.02.07 11:54. Заголовок: Рабочий пример




/*
* MiniGUI FitToDesktop Demo
*(c) 2005 Jacek Kubica <kubica@wssk.wroc.pl>
* HMG 1.0 Experimantal Build 8
*
* This demo shows how to get width and height of the client area for a full-screen window
* on the primary display monitor, in pixels and get the coordinates of the portion of the screen
* not obscured by the system taskbar or by application desktop toolbars
*
* MINIGUI - Harbour Win32 GUI library
* Copyright 2002-05 Roberto Lopez <roblez@ciudad.com.ar>
*/

#include "minigui.ch"

Function Main
DEFINE WINDOW Form_1 ;
AT GetDesktopRealTop(),GetDesktopRealLeft() ;
WIDTH GetDesktopRealWidth() ;
HEIGHT GetDesktopRealHeight() ;
TITLE 'MiniGUI FitToDesktop Demo' ;
MAIN

DEFINE MAIN MENU
DEFINE POPUP "&Test"
MENUITEM "Fit it now !" ACTION FitIt()
SEPARATOR
MENUITEM 'Exit' ACTION Form_1.Release
END POPUP
END MENU

END WINDOW

ACTIVATE WINDOW Form_1
Return

Function FitIt()

Form_1.Row := GetDesktopRealTop()
Form_1.Col := GetDesktopRealLeft()
Form_1.Width := GetDesktopRealWidth()
Form_1.Height := GetDesktopRealHeight()

Return NIL

#pragma BEGINDUMP

#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include "hbapi.h"

HB_FUNC (GETDESKTOPREALTOP)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.top);

}
HB_FUNC (GETDESKTOPREALLEFT)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.left);

}

HB_FUNC (GETDESKTOPREALWIDTH)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.right - rect.left);

}

HB_FUNC (GETDESKTOPREALHEIGHT)
{
RECT rect;
SystemParametersInfo( SPI_GETWORKAREA, 1, &rect, 0 );

hb_retni(rect.bottom - rect.top);
}

#pragma ENDDUMP

Спасибо: 0 
Профиль
постоянный участник


Пост N: 1
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 10.02.07 18:14. Заголовок: Re:


Я дико извиняюсь... А GetDesktopHeight() и GetDesktopWidth() разве не подходят? Или я торможу?... :)

Спасибо: 0 
Профиль
постоянный участник


Пост N: 110
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 11.02.07 18:11. Заголовок: Re:


PSP пишет:

 цитата:
А GetDesktopHeight() и GetDesktopWidth() разве не подходят?



Может и подходят, но

* This demo shows how to get width and height of the client area for a full-screen window
* on the primary display monitor, in pixels and get the coordinates of the portion of the screen
* not obscured by the system taskbar or by application desktop toolbars


Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 253
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет