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

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

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

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

Так я понимаю, тут надо АПИ-функцию SetWindowPos с опцией NOMOVE, но вроде говорили, что у MSForm нет свойства дескриптора окна, и чтобы его получить, надо как-то вывернуться (через поиск окна, кажется). Вроде бы относительно недавно было - попробуй поискать.
...
Рейтинг: 0 / 0
25.07.2010, 21:30
    #36758551
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
блокировать перемещение формы мышью
segail,
мне интересно мно торочат, что эксель и ворд в этом случае одинаковы
ну я так понимаю форма модальна, и что дальше
...
Рейтинг: 0 / 0
25.07.2010, 21:49
    #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
25.07.2010, 21:53
    #36758577
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
блокировать перемещение формы мышью
segail,

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

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

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


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