Как программно изменить стиль окна???

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
.:[nnn]:.
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 23.05.2006 (Вт) 14:22

Как программно изменить стиль окна???

Сообщение .:[nnn]:. » 28.05.2006 (Вс) 4:47

Здравствуйте...у меня тут проблемка возникла...У меня есть: форма - Form1 и кнопочка - Command1...требуется...при нажатии на кнопочку...у формы скрывались бордюры...я делаю это так:

Код: Выделить всё
Option Explicit

Private Sub Command1_Click()

Me.BorderStyle = 0

End Sub


Но у меня ничё неработает :((((((...подскажите пожалуста что я делаю нетак???
Юзер всегда найдет где нажать, чтоб потом криво работало.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.05.2006 (Вс) 6:18

Всё делаешь не так.

И не с глаголами слитно пишешь, и пытаешься изменить неизменямое свойство окна.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Naked
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 207
Зарегистрирован: 27.10.2004 (Ср) 3:16
Откуда: Дальнегорск столица мира

Сообщение Naked » 28.05.2006 (Вс) 11:59

Код: Выделить всё
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const WS_VISIBLE = &H10000000

Private Sub Form_Click()
    SetWindowLong Form1.hwnd, GWL_STYLE, WS_VISIBLE
End Sub


NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 28.05.2006 (Вс) 12:16

Naked писал(а):
Код: Выделить всё
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const WS_VISIBLE = &H10000000

Private Sub Form_Click()
    SetWindowLong Form1.hwnd, GWL_STYLE, WS_VISIBLE
End Sub



А изменить свойство Show in TaskBar с помощью API реально??? :?:

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 28.05.2006 (Вс) 12:18

NIC писал(а):

А изменить свойство Show in TaskBar с помощью API реально??? :?:

Да
Если всё делать своими ручками, они скоро отвалятся !

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 28.05.2006 (Вс) 12:31

А функция какая требуеться? :?:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 28.05.2006 (Вс) 12:38

SetWindowLong
Изображение

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 28.05.2006 (Вс) 12:58

Код: Выделить всё
SetWindowLong Form1.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_APPWINDOW
Если всё делать своими ручками, они скоро отвалятся !

NIC
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 175
Зарегистрирован: 26.04.2005 (Вт) 4:50

Сообщение NIC » 28.05.2006 (Вс) 13:09

Чё-то не работает код.Да и значение WS_EX_APPWINDOW в API нет.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 28.05.2006 (Вс) 13:12

Если всё делать своими ручками, они скоро отвалятся !

.:[nnn]:.
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 23.05.2006 (Вт) 14:22

Сообщение .:[nnn]:. » 28.05.2006 (Вс) 17:38

Naked писал(а):
Код: Выделить всё
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const GWL_STYLE = (-16)
Private Const WS_VISIBLE = &H10000000

Private Sub Form_Click()
    SetWindowLong Form1.hwnd, GWL_STYLE, WS_VISIBLE
End Sub



Большое спасибо работает как часы...и ещё вопросик...а как вернуть бордюры назад...
Последний раз редактировалось .:[nnn]:. 28.05.2006 (Вс) 17:47, всего редактировалось 2 раз(а).
Юзер всегда найдет где нажать, чтоб потом криво работало.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.05.2006 (Вс) 17:43

Офигительно... свойство Visible ещё, по-моему, не APIзировали...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 146

    TopList