Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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
На всякий случай:

CALLBACK FUNCTION WindowProc()

    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
ОК, спасибо, попробую :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам