Как изменить размер окна vbs

Изменить размер и положение диалогового окна VBScript/JScript Решение и ответ на вопрос 2152701

1 / 1 / 0

Регистрация: 03.11.2017

Сообщений: 11

1

Изменить размер и положение диалогового окна

08.12.2017, 22:30. Показов 5463. Ответов 3


Не совсем в тему но может кто в теме.
Как в VBS изменить размер и положение диалогового окна.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



1



FlasherX

5296 / 2485 / 988

Регистрация: 06.06.2017

Сообщений: 8,519

09.12.2017, 11:28

2

У стандартных диалогов MsgBox/InputBox пиксельно размеры не регулируются.
На высоту влияние оказывает только число строк, ширина всегда ограничена небольшим диапазоном.
Координаты относительно верхнего левого угла экрана задаются только в InputBox:

Visual Basic
1
2
3
4
xpos = 800 : ypos = 600
Var = Trim(InputBox("Текст", "Заголовок", "Значение по умолчанию", xpos*15, ypos*15))
If Var = "" Then WSH.Quit
MsgBox Var

Для попиксельного рисования можно задействовать InternetExplorer.Application либо какой-то сторонний компонент вроде WindowSystemObject.



1



1 / 1 / 0

Регистрация: 03.11.2017

Сообщений: 11

09.12.2017, 15:55

 [ТС]

3

Спасибо большое , а что за сторонний компонент WindowSystemObject.



0



5296 / 2485 / 988

Регистрация: 06.06.2017

Сообщений: 8,519

09.12.2017, 23:41

4



0



 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

Подскажите, пожалуйста, уважаемые форумчане, есть ли возможность изменить (увеличить) размер окна для вывода информации функцией MsgBox?

 

Udik

Пользователь

Сообщений: 372
Регистрация: 07.03.2016

excel 2016х64 Контакты в профиле

Да вроде нет у MsgBox никаких регулировок собственного размера. А зачем менять, оно же само увеличивается в зависимости от размера текста.

Изменено: Udik02.11.2016 17:10:48

Арфы — нет, возьмите бубен.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

Мне нужно, чтобы по горизонтали строка помещалась целиком, а она переносится. Я подумала, что может быть есть возможность увеличить ширину окна, чтобы строка поместилась без переноса.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Нет. Если уж очень-очень и без этого никак — рисуйте форму пользователя.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

vikttur, а в форме какой элемент использовать?

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

Может две/три/… строки, логически разбитые запятыми/точками будут читабельнее чем одна, ну ооооочень длинная? Попробуйте

Согласие есть продукт при полном непротивлении сторон.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#9

02.11.2016 19:17:17

Цитата
нужно, чтобы по горизонтали строка помещалась целиком

И не забудьте купить второй монитор :)

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

Для вставки переносов строк в нужных местах, при формирования сообщения MsgBox, используйте оператор vbCrLf

Согласие есть продукт при полном непротивлении сторон.

 

Мотя

Пользователь

Сообщений: 3218
Регистрация: 25.12.2012

#11

02.11.2016 19:21:47

Цитата
oksana2016 написал:
Мне нужно, чтобы по горизонтали строка помещалась целиком, а она переносится.

Интересно, для чего нужен такой перфекционизм?

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#12

02.11.2016 19:27:40

Цитата
Sanja написал:
Для вставки переносов строк в нужных местах, при формирования сообщения MsgBox, используйте оператор vbCrLf
Цитата
Sanja написал:
Может две/три/… строки, логически разбитые запятыми/точками будут читабельнее чем одна, ну ооооочень длинная?

У меня выводится список документов (не больше 10) — название, номер, дата выдачи, дата окончания действия. Удобнее, когда каждый документ занимает одну целую строку. Она, к слову, и не длинная вовсе. Но последняя дата переносится на другую строку, читабельность от этого ухудшается, я поставила переносы, но все равно приходится вставлять пустую строку, чтобы отделить один документ от другого  

Изменено: oksana201602.11.2016 19:30:17

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#13

02.11.2016 19:28:09

Цитата
vikttur написал:
И не забудьте купить второй монитор

А лучше два :)

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

#14

02.11.2016 19:30:23

Цитата
oksana2016 написал: Она, к слову, и не длинная вовсе

Покажите одну, для примера

Согласие есть продукт при полном непротивлении сторон.

 
Мотя

, так написано же:
чтобы по горизонтали строка помещалась целиком

oksana2016

, цель достижима с помощью WinAPI

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

Примерно так:
Декларация #AA1234.5678.999, действует с 01.01.2016 по 01.01.2016.  

 

Юрий М

Модератор

Сообщений: 60394
Регистрация: 14.09.2012

Контакты см. в профиле

Такая строка спокойно умещается и без переноса.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#18

02.11.2016 19:35:22

Цитата
Ігор Гончаренко написал: цель достижима с помощью WinAPI

Не сталкивалась с этим, почитаю. Спасибо.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#19

02.11.2016 19:37:27

Цитата
Юрий М написал:
Такая строка спокойно умещается и без переноса

У меня последняя дата переносится почему-то…

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

?

Прикрепленные файлы

  • Строка.jpg (15.2 КБ)

Согласие есть продукт при полном непротивлении сторон.

 

Юрий М

Модератор

Сообщений: 60394
Регистрация: 14.09.2012

Контакты см. в профиле

Ограничение (из справки) в 1024 символа.

Прикрепленные файлы

  • MsgBox.jpg (20.87 КБ)

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

А может у Вас уже используется vbCrLf в коде? Или Chr(10)? Или еще что-то?
Покажите код, который формирует строку

Согласие есть продукт при полном непротивлении сторон.

 

Юрий М

Модератор

Сообщений: 60394
Регистрация: 14.09.2012

Контакты см. в профиле

Вот с добавленным текстом.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

Я использовала vbInformation и соответствующий значок «отъедает» часть окна. Если его убрать, то тогда да, строка помещается

 

Мотя

Пользователь

Сообщений: 3218
Регистрация: 25.12.2012

Интересно, зачем операционисту нужен такой огромный информационный «хвост» в Msgbox?  :)
«Дешевле» построить тривиальный протокол на листе сообщений.

 

Юрий М

Модератор

Сообщений: 60394
Регистрация: 14.09.2012

Контакты см. в профиле

#26

02.11.2016 19:48:08

Цитата
oksana2016 написал:
Я использовала vbInformation и соответствующий значок «отъедает» часть окна

Вот с иконкой информации.

Прикрепленные файлы

  • MsgBox 3.jpg (24.42 КБ)

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#27

02.11.2016 19:52:16

Цитата
Юрий М написал: Вот с иконкой информации.

Теряюсь в догадках, честное слово. Не могу понять, что не так. Сама строка для вывода формируется из данных таблицы, которые находятся в 4 столбцах. Может ли быть дело в этом?

 

Sanja

Пользователь

Сообщений: 14837
Регистрация: 10.01.2013

#28

02.11.2016 19:54:29

Цитата
Sanja написал: Покажите код

Согласие есть продукт при полном непротивлении сторон.

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

Вот как выглядит окно у меня

 

oksana2016

Пользователь

Сообщений: 67
Регистрация: 28.06.2016

#30

02.11.2016 20:04:00

Вот код

Код
s = s & rAll.Cells(rFind.Row, 1) & " №" & rAll.Cells(rFind.Row, 2) & " действует с " _
            & rAll.Cells(rFind.Row, 3) & " по " & rAll.Cells(rFind.Row, 4) & vbLf
MsgBox s, vbInformation, "Список документов"

Привет, я хочу знать, как изменить размер границы окна, которое запускается при запуске приложения с использованием VBScript.

1 ответы

Вы можете использовать две команды в этом коротком подразделе

  Sub Window_Onload
     window.moveTo 1030,110'          Moves the window position
 '                                    horizontally, vertically and
     window.resizeTo 225,175'         changes the width and height
  End Sub'  65+450=515  1280-515=765' of the window

Создан 12 июля ’12, 05:07

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

vbscript

or задайте свой вопрос.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить размер окна selenium python
  • Как изменить размер окна matplotlib
  • Как изменить размер окна fl studio
  • Как изменить размер окна far manager
  • Как изменить размер окна exe файла

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии