Страница: 1 |
Страница: 1 |
Вопрос: CHECKbox в PB
Добавлено: 09.05.05 11:08
Автор вопроса: kolyanoid
Эта зараза почему-то не вызывает свою CALLBACK-функцию :(
Даже если в колбэке поставить DIALOG END или MSGBOX без предворительных условий, то ничего не происходит! Кнопки работают, меню работает, а галочки - нет :( Млжет кто знает, от чего такое?
(всё это я в ДЛЛ делаю, а не в ЕХЕ)
P.S.
И ещё вопрос. Как в PB отследить клик на [X] в углу окна?
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #1
Добавлено: 09.05.05 13:56
Случайно не забыл установить стиль %BS_NOTIFY ?
Номер ответа: 2
Автор ответа:
kolyanoid
Вопросов: 19
Ответов: 60
Профиль | | #2
Добавлено: 09.05.05 14:53
Гым... случайно забыл (вот ламер! прим. ред.)
Пасиба, щас попробую
Номер ответа: 3
Автор ответа:
kolyanoid
Вопросов: 19
Ответов: 60
Профиль | | #3
Добавлено: 09.05.05 15:08
ТЮ, БЛИН! Понял. Колбэк не работает, потому что я эти чукбоксы в TAB-контрол SetParemt'ом засунул. Точно, ведь у меня кнопки тоже также себя вели... Сорри за ламоразм
Остался только 2й аопрос:
Как отследить клик на кнопку [X] в верхнем правом углу окна?
Номер ответа: 4
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #4
Добавлено: 09.05.05 15:50
При клике на неклиентской части окна (в частности на кнопке закрытия) приходит сообщение в callback процедуру: WM_NCLBUTTONDOWN. Чтобы определить, где именно произошёл клик мышью, надо посмотреть в wParam. Его состояние как раз и определяет, где кликали. Если wParam при %WM_NCLBUTTONDOWN равен 20 (%HTCLOSE) - значит нажата кнопка "Закрыть".
Только чтобы программа закрылась по клику, надо после обработки этого сообщения вернуть FUNCTION=0, а то окно невозможно будет закрыть.
Номер ответа: 5
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #5
Добавлено: 09.05.05 16:00
На всякий случай:
SELECT CASE CBMSG
CASE %WM_NCLBUTTONDOWN
IF CBWPARAM = %HTCLOSE 'если нажата "Закрыть"
BEEP
END IF
FUNCTION=0
Что-то в таком роде, на PB не проверял, но принцип верный, может если только с синтаксисом напутал - подправишь.
Номер ответа: 6
Автор ответа:
kolyanoid
Вопросов: 19
Ответов: 60
Профиль | | #6
Добавлено: 09.05.05 16:36
ОК, спасибо, попробую