powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / блокировать перемещение формы мышью
22 сообщений из 22, страница 1 из 1
блокировать перемещение формы мышью
    #36758432
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Скажите, можно ли как то блокировать перемещение (перетаскивание) формы мышью.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758495
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

убрать у нее строку заголовка - не за что будет ее тащить. Ну и запретить изменять размеры, разумеется.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758501
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Где убрать в свойствах, все испробовал полоса не убирается…
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758505
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailГде убрать в свойствах, все испробовал полоса не убирается…

ControlBox=False
Caption=""
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758514
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Вы наверно про VB, а я про VBA Excel…
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758519
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailShocker.Pro,
Вы наверно про VB, а я про VBA Excel…

Ну так предупреждать надо. Если не считать словесного поносабольшого количества сообщений ЦЭ, в основном вопросы идут про VB. Не знаю. Может ЦЭ знает?
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758522
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, эксель открываю только под дулом пистолета, слышать и думать о нём не хочу
Бесит меня, почти все вопросы по Экселю, а не по Ворду
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758524
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюБесит меня, почти все вопросы по Экселю, а не по Ворду
MSForms и там и там одни и те же.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758525
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
Понял, не буду раздражать.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758529
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
да Вы тут не при чём, просто так сказал.
Не смотря на то что много общего
Говорю же эксель открываю только под дулом пистолета, слышать и думать о нём не хочу
Даже думать не хочу, лучше о женщинах
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758533
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
Теперь понял более конкретно. Походу я так понимаю, здесь нужен код, так как в свойствах ни чего не нашел. Ладно что ни будь придумаю.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758536
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailПоходу я так понимаю, здесь нужен код, так как в свойствах ни чего не нашел. Ладно что ни будь придумаю.

Так я понимаю, тут надо АПИ-функцию SetWindowPos с опцией NOMOVE, но вроде говорили, что у MSForm нет свойства дескриптора окна, и чтобы его получить, надо как-то вывернуться (через поиск окна, кажется). Вроде бы относительно недавно было - попробуй поискать.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758551
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
мне интересно мно торочат, что эксель и ворд в этом случае одинаковы
ну я так понимаю форма модальна, и что дальше
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758575
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно код для меня не очень понятный, нашел через поисковик.
Но выполняет то, что мне необходимо…
Может, кому пригодится.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
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 

Private Const MF_BYPOSITION As Long = &H400& 

Private Sub UserForm_Initialize() 
Dim hwnd As Long 
Dim i As Long 

    hwnd = FindWindow(vbNullString, Me.Caption) 
    If hwnd <>  0  Then 
        For i =  0  To  2  
            Call RemoveMenu(GetSystemMenu(hwnd,  0 &),  0 &, MF_BYPOSITION) 
        Next 
    End If 
End Sub
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758577
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

а, ну точно
Код: plaintext
hwnd = FindWindow(vbNullString, Me.Caption) 
ищет форму по ее заголовку. Но заголовок должен быть уникальным, иначе можно найти не то

а дальше можно или SetWindowPos, ну или то, что в этом примере.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758582
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
В смысле как уникальный?
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758586
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,
по уникальному это ко мне, например "ЦЭ молодец"
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758588
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой не так
"ЦЭ молодец"
А так
"ЦЭ_молодец"
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758597
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,
А почему так сложно, есть форма есть заголовок, одинаковых заголовков нет, код находится в теле той формы, которую необходимо блокировать от перемещения. Зачем тогда искать?
И почему нельзя "ЦЭ молодец", а именно "ЦЭ_молодец", у меня все формы как "ЦЭ молодец"…
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758611
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segailА почему так сложно, есть форма есть заголовок, одинаковых заголовков нет, код находится в теле той формы, которую необходимо блокировать от перемещения. Зачем тогда искать?
Код находится в теле формы, но у формы нет свойства hwnd, приходится искать через ж00у. То есть перебирать ВСЕ окна (и не только экселевские, имей ввиду). Поэтому и требуется уникальный заголовок, чтобы точно ни в каком другом приложении его не было.
segailИ почему нельзя "ЦЭ молодец", а именно "ЦЭ_молодец", у меня все формы как "ЦЭ молодец"…
можно
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758614
segail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Понятно спасибо.
...
Рейтинг: 0 / 0
блокировать перемещение формы мышью
    #36758987
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
segail,

не увидел что это Caption, согласен "ЦЭ молодец" можно, нужны будут уникальные имена, обращайтесь
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / блокировать перемещение формы мышью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]