Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Окно во весь екран Добавлено: 25.03.06 15:16  

Автор вопроса:  Shovgenyuk | ICQ: 158931552 
Как сделать MDI-окно во весь екран? Чтобы не было видно кнопки пуск, панели задач, трея и т.д.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 25.03.06 16:30
Убери панель задач

Ответить

Номер ответа: 2
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #2 Добавлено: 25.03.06 16:32
А еще лучше пошли ей WM_DESTROY. Интересно, а что произойдет? Она грохнется?

Ответить

Номер ответа: 3
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #3 Добавлено: 25.03.06 16:54
А еще лучше пошли ей WM_DESTROY. Интересно, а что произойдет? Она грохнется?

Должна. А потом должна восстановиться. Вроде.

Ответить

Номер ответа: 4
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #4 Добавлено: 25.03.06 17:33
Это как послать ей WM_DESTROY ?

Ответить

Номер ответа: 5
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #5 Добавлено: 25.03.06 17:36
Убери панель задач

Да это я и сам знаю, что панель задач можно убрать.
Мне нужно что бы было так как например в играх, во весь экран тоько моя программа, что бы не было видно виндовса вообще.

Ответить

Номер ответа: 6
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #6 Добавлено: 25.03.06 17:48
Ну так убери, если знаешь.
И останется только окно твоей программы, больше ничего. Установи своё окно в Maximize и запрети ресайз окна.

Ответить

Номер ответа: 7
Автор ответа:
 DaaGER



ICQ: 329195567 

Вопросов: 52
Ответов: 67
 Web-сайт: smartic.ru
 Профиль | | #7
Добавлено: 25.03.06 19:01
Пожалуй скажу вечную фразу: "На сайте есть код! Не ленись и поищи!"
А чтобы ты не мучился вот те код
'ВАРИАНТ1

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1
Const HWND_TOP = 0
Const SWP_SHOWWINDOW = &H40

Private Sub Command1_Click()
Dim ll_Width As Long
Dim ll_Height As Long
If Me.WindowState = vbMaximized Then
WindowState = vbNormal
End If
ll_Width = GetSystemMetrics(SM_CXSCREEN)
ll_Height = GetSystemMetrics(SM_CYSCREEN)
Call SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, ll_Width, ll_Height, SWP_SHOWWINDOW)
End Sub

Private Sub Command2_Click()
WindowState = vbMaximized
End Sub

'ВАРИАНТ2

Но возможен и такой вариант: установите свойство формы BorderStyle как 0-None и вставьте следующий код

Private Sub Form_Load()
Me.Width = Screen.Width
Me.Height = Screen.Height
Me.Left = 0
Me.Top = 0
End Sub

Ответить

Номер ответа: 8
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #8 Добавлено: 25.03.06 20:00
Спасибо, но для MDI-формы оба варианты не работают

Ответить

Номер ответа: 9
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #9 Добавлено: 28.03.06 10:36
Попробуй через DirectX, полноэкранный режим :))
Только вот при чем тут MDI...

Ответить

Номер ответа: 10
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #10 Добавлено: 28.03.06 10:53
Для mdi всё прекрасно работает.
убираешь панель и делаешь mdiform.windowstate = 2
кроме mdi окна ничего на экране не видно

Ответить

Номер ответа: 11
Автор ответа:
 Shovgenyuk



ICQ: 158931552 

Вопросов: 18
Ответов: 26
 Профиль | | #11 Добавлено: 28.03.06 10:56
Попробуй через DirectX, полноэкранный режим :))


Можно поподробнее как это через DirectX?

Ответить

Номер ответа: 12
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #12
Добавлено: 28.03.06 17:42
А так:

Option Explicit
Private Declare Function SystemParametersInfo Lib _
    "user32" Alias "SystemParametersInfoA" _
       ;(ByVal uAction As Long, _
        ByVal uParam As Long, _
        ByRef lpvParam As Any, _
        ByVal fuWinIni As Long) As Long
Private Const SPI_SCREENSAVERRUNNING = 97

Private Sub Form_Load()
Call SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, 0, 0)
Me.BorderStyle = 0
Me.WindowState = 2
End Sub


Ответить

Номер ответа: 13
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #13
Добавлено: 28.03.06 20:30
Можешь вообще монитор программно выключить :)

Ответить

Номер ответа: 14
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #14 Добавлено: 28.03.06 21:38
С обычной формой все просто:


.BorderStyle = 0
.WindowState = 2


Накроет весь экран, и панель задач уйдет. С MDI-формой это прокатит?

Ответить

Номер ответа: 15
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #15
Добавлено: 28.03.06 22:22
Мы не ищем коротких путей :)
Option Explicit
Private Const ABM_GETSTATE As Long = &H4
Private Const ABM_SETSTATE As Long = &HA
Private Const ABS_ALWAYSONTOP = &H2
Private Const SW_SHOWMAXIMIZED As Long = 3
Private Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
Private Type APPBARDATA
        cbSize As Long
        hwnd As Long
        uCallbackMessage As Long
        uEdge As Long
        rc As RECT
        lParam As Long '  message specific
End Type
Private Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwMessage As Long, pData As APPBARDATA) As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Dim ABD As APPBARDATA
Dim OldValue As Long
Private Sub Form_Initialize()
    OldValue = SHAppBarMessage(ABM_GETSTATE, ABD)
    ABD.lParam = OldValue And Not ABS_ALWAYSONTOP
    Call SHAppBarMessage(ABM_SETSTATE, ABD)
End Sub
Private Sub Form_Load()
    Call ShowWindow(Me.hwnd, SW_SHOWMAXIMIZED)
End Sub
Private Sub Form_Unload(Cancel As Integer)
    ABD.lParam = OldValue
    Call SHAppBarMessage(ABM_SETSTATE, ABD)
End Sub

(с) mc-black

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам