powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Антипод MouseMove ?
13 сообщений из 13, страница 1 из 1
Антипод MouseMove ?
    #32658063
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Хотел бы узнать, если ли какое нибудь событие противоположное MouseMove,
если нет, то как с этим справится?

Пример:
имеется StaticText, при наведении мыши BackColor = RGB(0,0,0)

Как сделать если MouseMove не активно то BackColor = RGB(200,200,200)

РВ 9
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32658130
gal20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это странно - Антипод MouseMove - MouseIdle что-ли ??? Не припомню в WinApi.
Имеется в виду, видимо, что хочется выделить объект под курсором ?

Добавляем Timing Object или на событии Timer окна с включенным таймером
вешаем скрипт:

Если объект в DW, то dw.GetObjectAtPointer().
Если объект - control в окне, то все сложнее ... :(
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32658150
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял!!! (Im Full Чайник)

Еще есть предложения?
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32658230
Vovik@PB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ставите mousemove на окошке, в котором ваш статиктекст

-------------------
PB 9.0.1 build 7096
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32658317
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Ставите mousemove на окошке, в котором ваш статиктекст

Так я уже в свое время делал.Но не всегда получается

А если маленькое окошко, да + бысто мышкой с этого окошка выпрыгнул, то ничего не получится;
Или StaticText по размерам = размерам окна?

Else, there is offers?
________________
PB 9.0.1 build 7119
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32658750
DIGITALPRO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели ни кто не знает???
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32659636
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загляни сюда: http://www.schtoo.com/pbstation/object.php?ID=hover
Может это то что тебе надо ...
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #32659803
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗагляни сюда: http://www.schtoo.com/pbstation/object.php?ID=hover
Мне этот вариант нравится меньше, чем вот такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
$PBExportHeader$uo_hyperlinkbutton.sru
forward
global type uo_hyperlinkbutton from statichyperlink
end type
type trackmouseevent from structure within uo_hyperlinkbutton
end type
end forward

type trackmouseevent from structure
	unsignedlong		cbSize
	unsignedlong		dwFlags
	unsignedlong		hwndTrack
	unsignedlong		dwHoverTime
end type

global type uo_hyperlinkbutton from statichyperlink
integer width =  503 
integer height =  88 
integer textsize = - 10 
integer weight =  400 
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string pointer = "HyperLink!"
long textcolor =  134217856 
long backcolor =  134217732 
string text = "Call Phil S. :-)"
alignment alignment = center!
long bordercolor =  16711680 
boolean focusrectangle = false
event wm_mousemove pbm_mousemove
event mousehover ( )
event mouseleave ( )
end type
global uo_hyperlinkbutton uo_hyperlinkbutton

type prototypes
Function Boolean TrackMouseEvent(ref trackmouseevent lpEventTrack) Library "USER32.DLL"
end prototypes

type variables
 /*
 * Window Messages
 */ 
constant ulong WM_MOUSEHOVER                   =  673  //0x02A1
constant ulong WM_MOUSELEAVE                   =  675  //0x02A3

 /*
 * Hover Flagss
 */ 
constant ulong TME_HOVER       =  1  // 0x00000001
constant ulong TME_LEAVE       =  2  // 0x00000002
constant ulong TME_NONCLIENT   =  16  // 0x00000010
constant ulong TME_QUERY       =  1073741824  // 0x40000000
constant ulong TME_CANCEL      =  2147483648  // 0x80000000
constant ulong HOVER_DEFAULT   =  4294967295  // 0xFFFFFFFF

//Colors
constant ulong LINK	 =  134217856 
constant ulong LINK_HOVER	 =  134217857 
private:
boolean	ib_mouseover=false

end variables

event wm_mousemove;trackmouseevent lpEventTrack

if not ib_mouseover then
	ib_mouseover = true
	
	lpEventTrack.cbSize =  16   //structure is  4  ulongs which is  16  bytes
	lpEventTrack.dwFlags = TME_HOVER + TME_LEAVE
	lpEventTrack.hwndTrack = Handle (this)
	lpEventTrack.dwHoverTime =  30 	//hover time-out (if TME_HOVER was specified in dwFlags), in milliseconds
	
	
	TrackMouseEvent(lpEventTrack)
	
end if
end event

event mousehover(); /*------------------------------------------------------------------------------

 Event   :			 uo_hyperlinkbutton.Mousehover

 Returns:         (none)

 Parameters:      

 Copyright ©2004 DTI - Philip Salgannik

 Date Created: 4/15/2004

 Description:	You can also play with border
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
------------------------------------------------------------------------------*/ 
border = true
borderstyle = StyleBox!
underline = true
TextColor = LINK_HOVER 
backcolor =  134217752 
end event

event mouseleave(); /*------------------------------------------------------------------------------

 Event   :			 uo_hyperlinkbutton.Mouseleave

 Returns:         (none)

 Parameters:      

 Copyright ©2004 DTI - Philip Salgannik

 Date Created: 4/15/2004

 Description:	You can also play with border
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
------------------------------------------------------------------------------*/ 
border = false
underline = FALSE
textcolor = LINK
backcolor =  134217732 


end event

on uo_hyperlinkbutton.create
end on

on uo_hyperlinkbutton.destroy
end on

event constructor; /*------------------------------------------------------------------------------

 Event   :			 uo_hyperlinkbutton.Constructor

 Returns:         Long

 Parameters:      

 Copyright ©2004 DTI - Philip Salgannik

 Date Created: 4/15/2004

 Description:	This object is based on Dmitrii Mazhar's Hover Button published
 					on now defunct SOAR project (puterworks)
					 
					Link and hover link colors are hardcoded. It probably would be nice
					to query the system for them here
 
--------------------------------------------------------------------------------
 Modifications:
 Date            Author              Comments
------------------------------------------------------------------------------*/ 

end event

event other;choose case message.Number
	case WM_MOUSEHOVER
		this.TriggerEvent("mousehover")
	case WM_MOUSELEAVE
		ib_mouseover = false
		this.TriggerEvent("mouseleave")
end choose
end event
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Антипод MouseMove ?
    #37531197
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп,

попытка применить тот же подход для picterbutton закончилась неудачно -
событие WM_MOUSELEAVE не проходит.
Вызов TrackMouseEvent после WM_MOUSEHOVER также ничего не дал.
Можно как-то победить?

PB 12.1
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #37532596
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего-то не пойму.
Противоположное событию "движение мышки" - это её простой. Про что вопрос то?

P.S. и год то уже 2011... ;)
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #37532757
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нарисуйте Static text в виде кнопки, наложите картинку и будет визуально тот же picturebutton и проверьте работает или нет
...
Рейтинг: 0 / 0
Антипод MouseMove ?
    #37532869
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Нарисуйте Static text в виде кнопки, наложите картинку и будет визуально тот же picturebutton и проверьте работает или нет

Проверял на исходном uo_hyperlinkbutton(он унаследован от statichyperlink), в картинке убираешь Enabled и работает.
Но эффекта нажатия кнопки уже нет.
Другое решение есть, хотелось это применить. В других языках это классика.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Антипод MouseMove ?
    #38799860
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVNФилипп,

попытка применить тот же подход для picterbutton закончилась неудачно -
событие WM_MOUSELEAVE не проходит.
Вызов TrackMouseEvent после WM_MOUSEHOVER также ничего не дал.
Можно как-то победить?

PB 12.1

Для picterbutton: WM_MOUSELEAVE = 20
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Антипод MouseMove ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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