Блокирование крестика сверху справа

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

Блокирование крестика сверху справа

Сообщение A.A.Z. » 03.10.2003 (Пт) 17:13

Как заблокировать крестик в верхнем правом углу окна?
И Alt+F4 заодно.
А то при таком закрытии проги может у меня кой-чего глюкануться.
Нет меня больше

Ronin_1978
Новичок
Новичок
 
Сообщения: 46
Зарегистрирован: 05.04.2003 (Сб) 14:42
Откуда: Москва

Сообщение Ronin_1978 » 03.10.2003 (Пт) 17:16

Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
End Sub
... На небесах святые - ты слышишь стоны?
По тебе плачет колокол, а где-то во мраке
На ветру качаются вопросительные знаки... (С) Каста.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.10.2003 (Пт) 19:54

Нет, немного не так, чтобы у него было что-то вроде Enabled = False.
Нет меня больше

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 03.10.2003 (Пт) 20:02

Здесь пример MsgBox'a, но я и формы такие точно видел!
Изображение
Нет меня больше

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 03.10.2003 (Пт) 23:49

http://vbnet.ru/faq/

ищи там, есть пример.
Dmitrich

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 03.10.2003 (Пт) 23:50

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

   Private Declare Function DeleteMenu Lib "user32" _
      (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
   Private Declare Function GetSystemMenu Lib "user32" _
      (ByVal hwnd As Long, ByVal bRevert As Long) As Long

   Private Const MF_BYPOSITION = &H400&

   Private ReadyToClose As Boolean
'---------------------------------------------------------------------------------------
Private Sub RemoveMenus(frm As Form, _
   remove_restore As Boolean, _
   remove_move As Boolean, _
   remove_size As Boolean, _
   remove_minimize As Boolean, _
   remove_maximize As Boolean, _
   remove_seperator As Boolean, _
   remove_close As Boolean)
   Dim hMenu As Long

   ' Get the form's system menu handle.
   hMenu = GetSystemMenu(hwnd, False)

   If remove_close Then DeleteMenu hMenu, 6, MF_BYPOSITION
   If remove_seperator Then DeleteMenu hMenu, 5, MF_BYPOSITION
   If remove_maximize Then DeleteMenu hMenu, 4, MF_BYPOSITION
   If remove_minimize Then DeleteMenu hMenu, 3, MF_BYPOSITION
   If remove_size Then DeleteMenu hMenu, 2, MF_BYPOSITION
   If remove_move Then DeleteMenu hMenu, 1, MF_BYPOSITION
   If remove_restore Then DeleteMenu hMenu, 0, MF_BYPOSITION
End Sub
'---------------------------------------------------------------------------------------
Private Sub cmdClose_Click()
   ReadyToClose = True
   Unload Me
End Sub
'---------------------------------------------------------------------------------------
Private Sub Form_Load()
   ' Remove the Close system menu item and the
   ' menu separator.
   RemoveMenus Me, False, False, _
   False, False, False, True, True
End Sub
'---------------------------------------------------------------------------------------
' Cancel if ReadyToClose is false.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
   Cancel = Not ReadyToClose
End Sub

И позволю себе понудить: [url]http://www.google.com/search?q=VB Заблокировать крестик[/url]
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 04.10.2003 (Сб) 15:02

Спасибо за код! Всё работает!
И за Google спасибо. В "Мастерской разработчика" много интересного.
Нет меня больше

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 04.10.2003 (Сб) 18:52

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

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 05.10.2003 (Вс) 16:42

Да я знаю...
Пытаюсь всё к минимуму свести. Если что - Backup'ы.
Теперь буду пытаться запретить завершение процесса сделать... :)
Нет меня больше


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

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

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

    TopList