Hello, with %ac[Enter] i can force a call back to „integer4 function ienter()“ %ac[UP] i can force a call back to „integer4 function iup()“ a.s.o. (see following code)
module mouse_click
character*20 cdata1,cdata2,cdata3
integer*4 ifocus,ncontrol,icontrol(3)
common/focus_control/ifocus,icontrol,cdata1,cdata2,cdata3
end module mouse_click
winapp
program mouse_click_test
use mouse_click
include <windows.ins>
external ienter,iup,idown,iesc,ifw
cdata1 = '11.11'
cdata2 = '22.22'
cdata3 = '33.33'
!i=ifw()
call add_focus_monitor@(ifw)
ncontrol = 3
i=winio@('%ac[Enter]&',ienter)
i=winio@('%ac[UP]&',iup)
i=winio@('%ac[DOWN]&',idown)
i=winio@('%ac[ESC]&',iesc)
i=winio@('%tc[black]%co[right_justify]&')
i=winio@('%co[data_border]&')
!i=winio@('%nl%rs%lc&',cdata1(1:10),icontrol(1))
i=winio@('%nl%rs%lc&',cdata1(1:10),icontrol(1))
i=winio@('%nl%rs%lc&',cdata2(1:10),icontrol(2))
i=winio@('%nl%rs%lc' ,cdata3(1:10),icontrol(3))
call remove_focus_monitor@(ifw)
end
integer*4 function ienter()
use mouse_click
include <windows.ins>
ienter=1
if(ifocus.eq.icontrol(1))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(3))
if(ifocus.eq.icontrol(3))call set_highlighted@(icontrol(1))
end
integer*4 function iup()
use mouse_click
include <windows.ins>
iup=1
if(ifocus.eq.icontrol(3))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(1))
end
integer*4 function idown()
use mouse_click
include <windows.ins>
idown=1
if(ifocus.eq.icontrol(1))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(3))
end
integer*4 function iesc()
use mouse_click
include <windows.ins>
iesc=0
end
integer*4 function ifw()
use mouse_click
include <windows.ins>
ifw=2
ifocus=clearwin_info@('FOCUSSED_WINDOW')
end
Is there a possibility to force a call back with a left or right mouse click analogous to %ac[Enter]? I tried it with a call back to cmouse as shown in following code, but this didn't work
module mouse_click
character*20 cdata1,cdata2,cdata3
CHARACTER*256 reason
integer*4 ifocus,ncontrol,icontrol(3)
common/focus_control/ifocus,icontrol,cdata1,cdata2,cdata3,reason
end module mouse_click
winapp
program mouse_click_test
use mouse_click
include <windows.ins>
external ienter,iup,idown,iesc,ifw,cmouse
cdata1 = '11.11'
cdata2 = '22.22'
cdata3 = '33.33'
call add_focus_monitor@(ifw)
ncontrol = 3
i=winio@('%ac[Enter]&',ienter)
i=winio@('%ac[UP]&',iup)
i=winio@('%ac[DOWN]&',idown)
i=winio@('%ac[ESC]&',iesc)
i=winio@('%tc[black]%co[right_justify]&')
i=winio@('%co[data_border]&')
i=winio@('%nl%^rs%lc&',cdata1(1:10),cmouse,icontrol(1))
i=winio@('%nl%rs%lc&',cdata2(1:10),icontrol(2))
i=winio@('%nl%rs%lc' ,cdata3(1:10),icontrol(3))
call remove_focus_monitor@(ifw)
end
integer*4 function ienter()
use mouse_click
include <windows.ins>
ienter=1
if(ifocus.eq.icontrol(1))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(3))
if(ifocus.eq.icontrol(3))call set_highlighted@(icontrol(1))
end
integer*4 function iup()
use mouse_click
include <windows.ins>
iup=1
if(ifocus.eq.icontrol(3))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(1))
end
integer*4 function idown()
use mouse_click
include <windows.ins>
idown=1
if(ifocus.eq.icontrol(1))call set_highlighted@(icontrol(2))
if(ifocus.eq.icontrol(2))call set_highlighted@(icontrol(3))
end
integer*4 function iesc()
use mouse_click
include <windows.ins>
iesc=0
end
integer*4 function ifw()
use mouse_click
include <windows.ins>
ifw=2
ifocus=clearwin_info@('FOCUSSED_WINDOW')
end
integer*4 function cmouse()
use mouse_click
include <windows.ins>
cmouse=1
write(*,*)'Einsprung in function cmouse'
REASON=clearwin_string@('CALLBACK_REASON')
write(*,*)'Einsprung bei linker Maustaste,reason =', reason
end