Здравствуйте! Сегодня: Чт, 19 Май 2022, Ваш IP: 3.239.111.79 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Группа «FAQ VB 6.0» - Форум
+ Создать новую тему Страница: 1
Тема: Отключить кнопку Х в заголовке форме. · +  +  дата добавления: 06.04.2006 / 15:59
Автор темы:
BiT
BiT
тем: 103 / ответов: 643 / благодарностей: 0 / репутация: 1
За заслуги перед Kbyte.Ru>>
Url: bit.pirit.info/forum
Icq: 250234041
ответов: 643
создал(а) тем: 103


Отключить кнопку Х в заголовке форме.

Код:

01:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
17:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
Option Explicit
Private Declare Function GetSystemMenu Lib _
    "user32" (ByVal hWnd As Long, _
     ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib _
    "user32" (ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib _
    "user32" (ByVal hWnd As Long) As Long
Private Declare Function RemoveMenu Lib _
    "user32" (ByVal hMenu As Long, _
    ByVal nPosition As Long, _
    ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400
Const MF_REMOVE = &H1000
Private Sub Form_Load()
Dim hSysMenu As Long, nCnt As Long
hSysMenu = GetSystemMenu(Me.hWnd, False)
If hSysMenu Then
    nCnt = GetMenuItemCount(hSysMenu)
    If nCnt Then
        RemoveMenu hSysMenu, nCnt - 1, _
                MF_BYPOSITION Or MF_REMOVE
        RemoveMenu hSysMenu, nCnt - 2, _
                MF_BYPOSITION Or MF_REMOVE
        DrawMenuBar Me.hWnd
        Me.Caption = "А закрыть то крестиком, не вариант!"
    End If
End If
End Sub

--
Люди, которым всегда некогда, как правило, ничего не делают.
 
Ответ # 1 # · +  +  дата добавления: 06.04.2006 / 16:00
Автор ответа:
BiT
BiT
тем: 103 / ответов: 643 / благодарностей: 0 / репутация: 1
За заслуги перед Kbyte.Ru>>
Url: bit.pirit.info/forum
Icq: 250234041
ответов: 643
создал(а) тем: 103


Заблокировать все меню в заголовке форме.

Код:

01:
03:
04:
05:
06:
07:
08:
09:
10:
11:
12:
13:
14:
15:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Option Explicit
Private Declare Function GetSystemMenu Lib _
    "user32" (ByVal hWnd As Long, _
     ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib _
    "user32" (ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib _
    "user32" (ByVal hWnd As Long) As Long
Private Declare Function RemoveMenu Lib _
    "user32" (ByVal hMenu As Long, _
    ByVal nPosition As Long, _
    ByVal wFlags As Long) As Long
Const MF_BYPOSITION = &H400
Const MF_REMOVE = &H1000
Private Sub Command1_Click()
Dim i As Byte
Dim hSysMenu As Long, nCnt As Long
hSysMenu = GetSystemMenu(Me.hWnd, False)
If hSysMenu Then
    nCnt = GetMenuItemCount(hSysMenu)
    If nCnt Then
        For i = 1 To 7
        RemoveMenu hSysMenu, nCnt - i, _
                MF_BYPOSITION Or MF_REMOVE
        Next
    End If
End If
End Sub

--
Люди, которым всегда некогда, как правило, ничего не делают.
 
Страница: 1 + Создать новую тему