Fullscreen без DirectX.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Fullscreen без DirectX.

Сообщение Gogic » 04.04.2010 (Вс) 18:08

Реально ли в рантайме перевести форму в фуллскрин режим без использования сторонних интерфейсов типа DirectX?

Код: Выделить всё
BorderStyle=0


Не работает.

Код: Выделить всё
ll_Width = GetSystemMetrics(SM_CXSCREEN)
ll_Height = GetSystemMetrics(SM_CYSCREEN)
Call SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, ll_Width, ll_Height, SWP_SHOWWINDOW)


Не работает.

Надо просто порперти формы Left Height Top и Width поменять так чтобы заголовок и границы оказались за переделами экрана.

Изврат. нашел в поиске по форуму.

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Fullscreen без DirectX.

Сообщение Gogic » 04.04.2010 (Вс) 18:36

Точнее, нужен даже не фуллскрин, а возможность программно убирать заголовок окна...

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Fullscreen без DirectX.

Сообщение MIT » 04.04.2010 (Вс) 20:39

Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Fullscreen без DirectX.

Сообщение Gogic » 05.04.2010 (Пн) 18:20

Не поможет. Это дотнет, нужен шестой.


Можно как-то через Setwindowlong, но я не знаю, как в точности (убрать титлбар).
Если у кого есть, просьба поделиться...

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Fullscreen без DirectX.

Сообщение Mikle » 05.04.2010 (Пн) 18:36

Gogic
А показать другую форму вместо этой?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Fullscreen без DirectX.

Сообщение MIT » 05.04.2010 (Пн) 18:47

Gogic писал(а):Не поможет. Это дотнет, нужен шестой.
Если на минутку включить мозг, то сразу становиться понятно, что два необходимых из трёх предложенных свойств, а именно WindowState и FormBorderStyle есть даже в шестой студии.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Fullscreen без DirectX.

Сообщение Gogic » 05.04.2010 (Пн) 18:51

Если на минутку запустить шестую студию, то можно увидеть, что BorderStyle формы не меняется в Runtime.
См. начало топа.

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Fullscreen без DirectX.

Сообщение Gogic » 05.04.2010 (Пн) 18:55

http://www.roman.by/r-88942.html

Тут пример на C++, придется переводить на VB. :D

Alec
Бывалый
Бывалый
 
Сообщения: 275
Зарегистрирован: 31.08.2008 (Вс) 0:15
Откуда: Ростов-на-Дону

Re: Fullscreen без DirectX.

Сообщение Alec » 05.04.2010 (Пн) 19:23

Gogic писал(а):Можно как-то через Setwindowlong, но я не знаю, как в точности (убрать титлбар).

Код: Выделить всё
Const WS_CAPTION = &HC00000
Call SetWindowLong(Form1.hwnd, GWL_STYLE, GetWindowLong(Form1.hwnd, GWL_STYLE) And Not WS_CAPTION)
Иногда лучше вовремя остановиться...
И начать заново!

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Fullscreen без DirectX.

Сообщение MIT » 05.04.2010 (Пн) 19:31

Gogic писал(а):Если на минутку запустить шестую студию, то можно увидеть, что BorderStyle формы не меняется в Runtime.
У меня всё замечательно меняется, что я делаю не так?
Код: Выделить всё
Private Sub Form_Load()
Me.BorderStyle = 0
Me.Caption = Me.Caption
Me.WindowState = 2
End Sub
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Fullscreen без DirectX.

Сообщение Mikle » 05.04.2010 (Пн) 20:59

Код: Выделить всё
Me.Caption = Me.Caption

Это всё меняет...

Gogic
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 120
Зарегистрирован: 24.08.2008 (Вс) 13:19

Re: Fullscreen без DirectX.

Сообщение Gogic » 06.04.2010 (Вт) 16:25

Это всё меняет...


И правда...
Объясните, почему?

P.S. Уже до этого сделал вот так:

Код: Выделить всё
Const WS_CAPTION = &HC00000
Call SetWindowLong(Form1.hwnd, GWL_STYLE, GetWindowLong(Form1.hwnd, GWL_STYLE) And Not WS_CAPTION)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 73

    TopList