Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Power Basic

Страница: 1 |

 

  Вопрос: %WM_ACTIVATE Добавлено: 31.03.04 15:03  

Автор вопроса:  cresta

В CallBack не работает такая конструкция:
(отловить переход окна в неактивное состояние)
  
SELECT CASE CBMSG
    
     CASE %WM_ACTIVATE
         BEEP
         IF LOWRD(CBWPARAM) = %WA_INACTIVE  THEN
            DIALOG END CBHNDL
            Cont=0
         END IF

Пробовал по API-шному и по PB-шному - никак не хочет. Подскажите, где ошибка?  BEEP не бикает, т.е. сообщение такое вообще не проходит. Хотя в MSDN написано...

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 31.03.04 17:25

Beep - встроеная функция PB, у меня отчего-то тоже не работает, а если хочешь использовать API функцию, то - WinBeep(частота, длительность в мс)...

Ответить

Номер ответа: 2
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #2 Добавлено: 31.03.04 21:39
Да нет, Beep  работает нормально, только вот сообщение %WM_ACTIVATE не приходит в ф-цию, почему - не знаю

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 31.03.04 22:41

Это ты используешь встроенную обработку, т.е. средствами PB ??? А если использовать функцию CreateWindowEx... В этом случае все должно быть в норме...

Ответить

Номер ответа: 4
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #4 Добавлено: 01.04.04 00:24

А в этом случае надо таскать с собой

Function loword Lib "TLBINF32" ,  чтобы прочесть wParam, лишних 150 кБ из-за одной ф-ции. А самому вычислить loword  как-то влом

Ответить

Номер ответа: 5
Автор ответа:
 @CyRax PTR



ICQ: 204447456 

Вопросов: 28
Ответов: 664
 Web-сайт: basicproduction.nm.ru/
 Профиль | | #5
Добавлено: 01.04.04 05:13

Если влом таскать библу, то попробуй так вычислить:

Dim MyWrdPtr as WORD PTR

MyWrdPtr=Varptr(MyDWORD)

Dim HiWrd as WORD, LoWrd as WORD

HiWrd=@MyWrdPtr[0] : LoWrd=@MyWrdPtr[1]

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 02.04.04 21:10

А так нельзя?

Loword=Num And &HFFFF

Ответить

Номер ответа: 7
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #7 Добавлено: 02.04.04 23:58

да в принципе можно наверное и так и через указатель

Ответить

Страница: 1 |

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



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