Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Форма со свойством BorderStule = 0... Добавлено: 30.08.08 14:20  

Автор вопроса:  Ciaocacao
есть форма со свойством BorderStule = 0 т.е. заголовка с тремя кнопками у нее нет, выглядит обычным прямоугольником. Меняю свойство ShowInTaskbar на True, чтобы внизу на панели задач программа значилась как запущенная. Запускаю прогу, жму правой кнопкой мышки по ее надписи на панели задач, чтобы вызвать контекстное меню - его нет! Подскажите, как сделать чтобы контекстное меню осталось, но при этом BorderStule должно быть = 0.

Ответить

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

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



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 31.08.08 20:38
ControlBox = True

Ответить

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



Вопросов: 3
Ответов: 5
 Профиль | | #2 Добавлено: 01.09.08 12:56
не, с ControlBox = True не получается. это нужно чтобы BorderStule = 1, тогда получится, а при 0 нет

Ответить

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



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #3
Добавлено: 01.09.08 17:14
BorderStyle пусть таки будет = 1, а форме сделать обрезание:

Option Explicit
Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000
Private Declare Function GetWindowLong Lib "user32" _
    Alias "GetWindowLongA" _
    ;(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
    Alias "SetWindowLongA" _
    ;(ByVal hWnd As Long, ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long
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 Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_FRAMECHANGED = &H20

Private Sub Form_Load()
    Dim lStyle As Long
    lStyle = GetWindowLong(Me.hWnd, GWL_STYLE)
    lStyle = lStyle And (Not WS_CAPTION)
    SetWindowLong Me.hWnd, GWL_STYLE, lStyle
    SetWindowPos Me.hWnd, _
    0, 0, 0, 0, 0, _
    SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER Or SWP_FRAMECHANGED
    Me.Show
End Sub

Ответить

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



Вопросов: 3
Ответов: 5
 Профиль | | #4 Добавлено: 03.09.08 09:53
Не сразу разобрался с кодом и настройками формы, но потом дошло. Да, это подходит. Так можно сделать, если добавить еще в свойствах формы кнопку Свернуть (MinButton=True, собственно контек-е меню мне нужно было из-за нее). Спасибо за помощь, воспользуюсь Вашим кодом.

Ответить

Страница: 1 |

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



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