|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.02.2013, 16:09 | #1 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Как сделать UserForm не по верх окон
Здравствуйте!
Подскажите как сделать чтобы форма автоматически становилась не поверх всех окон при нажатии любого листа эксель в трее или при открытии другого листа. Сейчас пока форма открыта я немогу открыть никакой лист экселя. И еще такая проблема. Подскажите как добавить кнопку свернуть. На форуме нашёл примеры , но не могу их реализовать. |
03.02.2013, 17:16 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
чтобы форма не мешала доступу к листам Excel, надо установить её свойство ShowModal в FALSE
(меняется в свойствах формы, или при помощи параметра про запуске методом Show) по сворачиванию формы - без WinAPI не обойтись: Код:
необходимо писать код в 2 вариантах: http://excelvba.ru/articles/WinAPI |
03.02.2013, 17:48 | #3 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Я пробовал ставить ShowModal в FALSE, но форма при нажатии на любой лист экселя все равно остается поверх окон и закрывает лист.
Последний раз редактировалось and150382; 04.02.2013 в 00:31. |
03.02.2013, 20:13 | #4 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Спасибо сворачивание работает.
Но всё же кто-нибудь может знает как сделать лист экселя поверх формы? Последний раз редактировалось and150382; 04.02.2013 в 00:31. |
04.02.2013, 10:24 | #5 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Кто-нибудь дайте идею, как это можно сделать
|
04.02.2013, 12:21 | #6 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
and150382, я так понял, что встроенными VBA-средствами нельзя решить вашу задачу. Нужно использовать API-функции, что вам предложено в сообщении #2.
Примечание Когда нет VBA-средств для решения вашей задачи, то нужно искать API-функции. |
04.02.2013, 12:50 | #7 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Её же видно не будет... Просто скрывайте форму (Userform1.Hide) при активации других листов, а при отображении нужного листа - снова отображайте (Userform1.Show) Это же всего 1-2 строки кода. Чем такой вариант не устраивает? |
|
04.02.2013, 13:19 | #8 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
В трее много открытый разных книг экселя.Форма работает с одной только книгой. Когда я нажимаю на какую нибудь книгу в трее чтобы занести туда данные, она открывается под формой. Чтобы мне занести данные приходится закрывать форму, т.к. она мешает.
|
04.02.2013, 14:04 | #9 | |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
|
|
04.02.2013, 14:25 | #10 |
Форумчанин
Регистрация: 19.10.2012
Сообщений: 217
|
Да. Панель задач Windows
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Показать Form2 по верх Form1 и сделать активной | Shouldercannon | Общие вопросы Delphi | 15 | 02.07.2011 21:13 |
Как можно сделать так, чтобы дочерняя форма была поверх всех окон после наступления определённого события? | Вадим Мошев | Общие вопросы Delphi | 4 | 10.06.2011 13:01 |
Как реализовать переход на верх страницы по образцу? | akokin | JavaScript, Ajax | 4 | 10.12.2009 16:07 |
Как сделать так, чтобы форма была поверх всех окон? | Jupiter | Общие вопросы Delphi | 9 | 31.07.2009 17:42 |
Как сделать так чтобы окно формы всегда было поверх остальных окон? | HelloZAPOR | Общие вопросы Delphi | 5 | 23.07.2007 08:05 |