Здравствуйте.
 Существует окно без наличия на нем каких либо контролов.
 Необходимо отловить двойное нажатие на нем (если точнее то в клиентской области окна) левой кнопки мыши.
 Пробовал через ALERT MouseLeft2 - не работает.
 Пробовал сабклассить и отлавливать WM_LBUTTONDBLCLK с установкой доп стиля окну (Prop:ClientHandle) CS_DBLCLKS - не работает.
 
 Вопрос: как отловить двойное нажатие мыши ?
 Случай  использования очереди WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDOWN, WM_LBUTTONUP + таймер просьба не рассматривать.
 Спасибо.
PS
 еб...кларион (просьба не флэймить)
Написал: PAA(27)
			
			
									
						Отловить MouseLeftDoubleClick на окне
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- 
				Гость
Привет, Всем!
 
Хм, по идее WM_LBUTTONDBLCLK должно работать. Возможно не то окошко сабклассите. Вообще, в событиях Windows очень помогает ориентироваться утилита MS Spy++ из состава MS Visual Studio. Она имеется на http://www.clarionlife.net Очень рекомендую, многое из событийного управления окон становится понятным.
 
Удачи!
__________________________________
Владимир Якимченко (IСQ 16 993 194)
Написал: ClaList(2)
			
			
									
						Хм, по идее WM_LBUTTONDBLCLK должно работать. Возможно не то окошко сабклассите. Вообще, в событиях Windows очень помогает ориентироваться утилита MS Spy++ из состава MS Visual Studio. Она имеется на http://www.clarionlife.net Очень рекомендую, многое из событийного управления окон становится понятным.
Удачи!
__________________________________
Владимир Якимченко (IСQ 16 993 194)
Написал: ClaList(2)
- 
				Гость
А не получится положить на окошко регион, а уже с него ловить?
Region# = Create(0,Create:Region)
SetPosition(Region#,0,0,0{Prop:Width},0{Prop:Height})
Region#{Prop:Alrt,255}=MouseLeft2
Unhide(Region#)
Ну и дальше отловить Alert с региона
--
C уважением
Yuri
Адрес:yufil@mail.ru
Написал: ClaList(2)
			
			
									
						Region# = Create(0,Create:Region)
SetPosition(Region#,0,0,0{Prop:Width},0{Prop:Height})
Region#{Prop:Alrt,255}=MouseLeft2
Unhide(Region#)
Ну и дальше отловить Alert с региона
--
C уважением
Yuri
Адрес:yufil@mail.ru
Написал: ClaList(2)
- 
				Гость
Так устроит?
-- 
Best regards,
Владимир mailto:ut5jbh@ua.fm
Написал: ClaList(2)
			
			
									
						Код: Выделить всё
clickmouse           PROCEDURE                             ! Declare Procedure
! Start of "Data Section"
! [Priority 4000]
Window WINDOW('Caption'),AT(,,185,92),MDI,SYSTEM,RESIZE,GRAY,FONT('MS Sans Serif',8,,FONT:regular)
       END
! End of "Data Section"
  CODE                                                     ! Begin processed code
! Start of "Processed Code"
! [Priority 4000]
  open(window)
  TARGET{Prop:Alrt,255} = MouseLeft
  TARGET{Prop:Alrt,254} = MouseLeft2
  TARGET{Prop:Alrt,253} = MouseRight
  accept
    case event()
      OF EVENT:AlertKey
      CASE KEYCODE()
      OF MouseLeft
      OROF MouseLeft2
      OROF MouseRight
        POST(Event:CloseWindow)
      END
    end
  end
! End of "Processed Code"Best regards,
Владимир mailto:ut5jbh@ua.fm
Написал: ClaList(2)

