Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Активная область desktop'а, Изминение 
V
    Опции темы
Piphon
Дата 12.5.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 30.3.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Как установить размер активной области рабочего стола, т.е. область которую занимают полностью раскрытые окна?
--------------------
Non Progredi Est Regredi...
PM MAIL ICQ   Вверх
Piphon
Дата 14.5.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 30.3.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Активная области в реальности называется рабочей областью...

Возможно кому-нибуть пригодится (Подсмотренно в reflector'е и MSDN)

Код

Imports System.Runtime.InteropServices

Public NotInheritable Class ScreenTools
    Const SPI_SETWORKAREA As Integer = &H2F
    Const SPI_GETWORKAREA As Integer = &H30

    <StructLayout(LayoutKind.Sequential)> _
    Private Structure RECT
        Public left As Integer
        Public top As Integer
        Public right As Integer
        Public bottom As Integer
        Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)
            Me.left = left
            Me.top = top
            Me.right = right
            Me.bottom = bottom
        End Sub

        Public Sub New(ByVal r As Rectangle)
            Me.left = r.Left
            Me.top = r.Top
            Me.right = r.Right
            Me.bottom = r.Bottom
        End Sub

        Public Shared Function FromXYWH(ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer) As RECT
            Return New RECT(x, y, (x + width), (y + height))
        End Function

        Public ReadOnly Property Size() As Size
            Get
                Return New Size((Me.right - Me.left), (Me.bottom - Me.top))
            End Get
        End Property

    End Structure

    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SystemParametersInfo(ByVal nAction As Integer, ByVal nParam As Integer, ByRef rc As RECT, ByVal nUpdate As Integer) As Boolean

    End Function

    Public Shared Property WorkingArea() As Rectangle
        Get
            Dim rc As New RECT
            SystemParametersInfo(SPI_GETWORKAREA, 0, rc, 0)
            Return Rectangle.FromLTRB(rc.left, rc.top, rc.right, rc.bottom)
        End Get
        Set(ByVal value As Rectangle)
            Dim rc As New RECT(value)
            SystemParametersInfo(SPI_SETWORKAREA, 0, rc, 0)
        End Set
    End Property
End Class


Это сообщение отредактировал(а) Piphon - 14.5.2007, 00:29
--------------------
Non Progredi Est Regredi...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.