Как в VBA к форме добавить кнопки Minimize/Maximize

Программирование на Visual Basic for Applications
Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Как в VBA к форме добавить кнопки Minimize/Maximize

Сообщение Vasily-777 » 05.05.2007 (Сб) 18:11

Добрый день коллеги, порылся в материале ничего подобного не нашёл, приминительно к VBA. Я пишу програмы под AutoCAD и у меня возник вопрос как к форме(VBA) добавить кнопки Minimize/Maximize , (Свернуть / Развернуть). В свойствах формы я их не нашёл.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 06.05.2007 (Вс) 16:16

Рисовать самому как вот здесь: http://bbs.vbstreets.ru/viewtopic.php?t=27436
Salus populi suprema lex

Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Сообщение Vasily-777 » 06.05.2007 (Вс) 17:34

Понимаете, как нестранно у формы отсутствует метод .hwnd,
если он был бы я эти кнопки minimize/ maximize через API вывел на своё место.

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

Сообщение GSerg » 06.05.2007 (Вс) 17:46

А как ни странно отсутствующий метод (хотя это и не метод) .hwnd находится, как здесь (только класс окна надо убрать).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 06.05.2007 (Вс) 18:06

dr.MIG писал(а):Рисовать самому как вот здесь: http://bbs.vbstreets.ru/viewtopic.php?t=27436


Мда, это я погорячился... Стандартные кнопки ведь можно добавить через SetWindowLong :oops:
Salus populi suprema lex

Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Сообщение Vasily-777 » 06.05.2007 (Вс) 18:58

Вписал такие строки:

Код: Выделить всё
Private Sub UserForm_Initialize()
Dim hwdn As Long
hwdn = FindWindow("ThunderDFrame", Me.Caption)
SetWindowRgn HWND, FullRgn, True
End Sub


На строку FindWindow("ThunderDFrame", Me.Caption)
материться:
- function not defined

Да нсчёт метода я тоже погоричился?
И вопрос, как через SetWindowLong добавить эти две загадочные
кнопки в VBA minimize / maximize

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

Сообщение GSerg » 06.05.2007 (Вс) 19:07

Я же говорил, класс окна убрать.
И нафига тебе SetWindowRgn? "Копирую, а думать-то зачем?"?

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

Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Сообщение Vasily-777 » 06.05.2007 (Вс) 19:39

Конечно незнаю, есть подходящей листинг
чтоб эти кнопочки включить, но он не работает.
А последнее я скопировал не думая.

Так вот и Хотелось бы у Гуру
спросить, в формах VBA есть ли кнопки развернуть / свернуть.
Я не профи, я прикладник.

Ответьте для Чайника, не стоит возмущаться, знатока я здесь из себя не строю. И не надо быть таким впечатлительным.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 06.05.2007 (Вс) 20:19

Я бы дал код полностью, но пишу с телефона...
P.S. а ты ф-ю вообще-то объявил (типа Private Declare...)?
P.P.S. скачай ApiGuid или хотя бы мой справочник по API на русском.
Salus populi suprema lex

Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Сообщение Vasily-777 » 06.05.2007 (Вс) 21:17

Ты меня прости, на форуме я новенький поэтому я незнаю, где качнуть. Но сейчас порыскаю ссылочку.

Чувствует моя душа, что в VBA нет такой возможности, иначе
бы разработчики эти кнопки сразу бы встраивали в форму.
С чем это связано, приминительно к AutoCAdу , с ожиданием ввода команды, а её можно ввести только когда форма закрыта. Поэтому многие переходят писать на VB, чтобы непосредственно из программы связыватья с приложением , а не приложением вызывать прогу. Ну это лирика.
Конечно хотелось узнать можно ли каким нибудь иным способом решить этот вопрос, пригодилось бы у нас многим .

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 07.05.2007 (Пн) 12:17

Может этот пример чем-нить поможет
Вложения
Forma.zip
(30.54 Кб) Скачиваний: 1230

Vasily-777
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 05.05.2007 (Сб) 17:23

Сообщение Vasily-777 » 08.05.2007 (Вт) 7:49

Пример действительно очень хороший.
Спасибо за помощь пригодиться!


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 82

    TopList  
cron