powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
18 сообщений из 18, страница 1 из 1
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557226
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в девятом фоксе появляются "прилепляемые" (docked) окна.

прекрасно, что теперь можно "прилепить" дочернее окно к краю его родительского окна или еще куда.

беда в том, что юзер всегда может мышью "отлепить" прилепленное окно попросту перетащив его за заголовок (Form::Titlebar = .F. не срабатывает). или он может закрыть это окно, нажав на крестик (установка Form::ControlBox = .F. не работает в этом случае)

как "прилепить" окно "навсегда", чтобы пользователь не смог его "отлепить", а мог бы только изменять его размер, перемещая сплиттер ?
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557503
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
moovable=.f.
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557593
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557600
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
closable=.f.
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557689
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не работает мувабл=.Ф.
и клозабл=.Ф. тоже не работает
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557747
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в tlb.MouseDown() пробей NODEFAULT
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33557757
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558214
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!Riserв tlb.MouseDown() пробей NODEFAULTа че такое tlb ?

ебтеть!

да я же говорю про ОКНА а не про ТУЛБАРЫ !

тулбары оно хрен с ними, и в восьмом можно такое делать.

а в девятом появились "прилипающие" (docked) ФОРМЫ (типа комманд виндоу)
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558415
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--
зачем ругаешся грязно???

вот видишь, люди не понимают, предпоследний день работаем

на вот
расчехлил свой бубен
немного постучал

самое тяжелое ему капшин убрать
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558418
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин
все нужно отдыхать
совсем плохой стал
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558481
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100блин
все нужно отдыхатьхе хе, пасиба, канешна, за внимание, но если у меня еще есть "прилепленные" окна, например, слева или справа, то когда я их ресайзю, та форма (которая без кэпшана) - она не ресайзится. такое ощущение, что она просто притянута за ушик тому месту.

я вот до чего допер:
прилепляю форму к стороне окна
Код: plaintext
thisform.dock(...)
перехватываю WM_NCHITTEST
Код: plaintext
BINDEVENT(thisform.hWnd, WM_NCHITTEST, thisform, "nchittest")
а в той процедуре:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
PROCEDURE thisform::nchittest
LPARAMETERS ;
	hwnd as Long, ;
	uMsg as Long, ;
	wParam as Long, ;
	lParam as Long

IF uMsg = WM_NCHITTEST
	PRIVATE ht
	ht = DefWindowProc(hwnd, uMsg, wParam, lParam)
	IF ht = HTCAPTION
		RETURN HTNOWHERE
	ENDIF
	RETURN ht
ENDIF
RETURN DefWindowProc(hwnd, uMsg, wParam, lParam)
ENDPROC
все вроде хорошо, только меня смущает кнопка [x] в правом верхнем углу формы. как бы ее убрать..
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558501
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никак
пока будет бордер не уберешь

нужно без бордера
я думаю туда нужно положить шейп-сплиттер
и по маусдоун на него засвечивать иконку ресайза и тянуть размеры
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558534
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100я думаю туда нужно положить шейп-сплиттер
и по маусдоун на него засвечивать иконку ресайза и тянуть размерыфиг. это уже вне клиентской области формы. :(
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558541
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
переведи про клиентскую часть

это чего тако
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33558860
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот пример
окошка с ресайзом

все бубен положил на полку
костер затушил
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33559665
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100вот пример
окошка с ресайзомнет. так не пойдет. нужно использовать встроенный механизм липких форм. а он ацтойный. значит пошел он в сам знаешь куда

ну че такое ? сколько это будет продолжаться ?
MSFT порой делает реально хорошие вещи. но С НИМИ РАБОТАТЬ НЕВОЗМОЖНО !

мать перемать !

а по поводу клиентской области: титлбар находится вне ее. и на него низя ниче запихать. хоть отлавливай WM_NCPAINT и сам рисуй.
хотя, как я посмотрел, отлов мессагов в фоксе как-то косячно работает. так что врядли че-то получится.

вот куда ни ткнись - везде косячность препятствует использованию технологии в полной мере

вот например в девятке появился новый косяк:
Код: plaintext
BINDEVENT(thisform.commandbutton1, "Click", thisform, "Release")
форма не релизится, хотя ее метод (thisform::Release()) отрабатывает.
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33560125
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что не пойдет-то
какой еще механизм нужен-то??

окошко прилепилось - фиг отлепишь
ресайз есть чего нужно-то???
...
Рейтинг: 0 / 0
Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
    #33560452
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--, ты хочешь чтобы
базовый класс работал как нужно???
как тебе хочется и нравится???

так в лисе не бывает
без шаманства
не переучить докнутую форму
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать так, чтобы пользователь НЕ СМОГ мышью "отлепить" docked window ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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