Тема: Кнопки окна
Добрый день, уважаемые Знатоки.
Подскажите пожалуйста как в форме Besica удалить все кнопки работы с окном (свернуть, развернуть, закрыть). У меня версия Autocad 2006.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Кнопки окна
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день, уважаемые Знатоки.
Подскажите пожалуйста как в форме Besica удалить все кнопки работы с окном (свернуть, развернуть, закрыть). У меня версия Autocad 2006.
В дизайне формы
ControlBox = False
В ран тайме это не работает.
Спасибо за ответ, но в свойствах формы у этого Basica в графах Properties-UserForm вообще нет этого параметра.
Подскажите пожалуйста, как до него добраться.
Наверное в разных модификациях это свойство устанавливается по разному. Я прочитал, что если в свойстве BorderStyle установить 0, то окно не будет иметь заголовка и элементов управления, но это у меня не действует.
Понятно вы имели ввиду VBA.
Тогда привожу пример отключений кнопки закрытия формы. Проверил на VBA работает. У UserForm нет метода возвращающего hWnd, поэтому обошел это через Заголовок окна (Me.Caption), минус данного метода в том что Вам необходимо следить за уникальностью заголовка окна.
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _ ByVal bRevert As Long) As Long Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, _ ByVal nPosition As Long, _ ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Public Sub RemoveCloseMenu(capt As String) Dim hSysMenu As Long hSysMenu = GetSystemMenu(FindWindow(vbNullString, capt), 0) Call RemoveMenu(hSysMenu, 6, &H400&) Call RemoveMenu(hSysMenu, 5, &H400&) End Sub Private Sub UserForm_Click() Unload Me 'позже удалить End Sub Private Sub UserForm_Initialize() RemoveCloseMenu Me.Caption End Sub
Большое спасибо!
А как отключить эти кнопки не программно, а ВРУЧНУЮ?
Я не знаю как найти в настройках дизайна формы, пункт отвечающий за наличие этих кнопок управления.
> Андрей (2007-02-19 15:14:36)
А как отключить эти кнопки не программно, а ВРУЧНУЮ?
Перейти с VBA на VB. Там эти кнопки легко отключаются вручную.
Подкину соли.
можно и на VBA это сделать, но слишком накладно многое писать нужно самому для начала вот API построения окна.
Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, _ ByVal lpClassName As String, _ ByVal lpWindowName As String, _ ByVal dwStyle As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hWndParent As Long, _ ByVal hMenu As Long, _ ByVal hInstance As Long, _ lpParam As Any) _ As Long
а дальше уже по контексту задачи :)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Кнопки окна
Форум работает на PunBB, при поддержке Informer Technologies, Inc