BROWSE -- Una cuestion..?

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
SALINETAS24
Posts: 358
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 27 times
Been thanked: 24 times

BROWSE -- Una cuestion..?

Post by SALINETAS24 » Thu Nov 14, 2019 7:30 pm

Os paso un programa ejemplo, con las clausualas ON CHANGE y ON DBLCLICK
Entiendo el funcionamiento de ambas pero he detectado un estraño funcionamiento.
Si doy DBLCLICK con el ratón sobre el registro activo, (sin realizar ningún cambio , no me muevo de la linea del browse), se ejecuta siempre el ON CHANGE antes del ON DBLCLIK.
¿por que ..?
¿ Es correcto ese funcionamiento...? A mi me parece que no.
Hay alguna forma de evitarlo.....

Muy agradecido y vamos con una cervecita.., bien fresquita!!


Code: Select all


/*
 * MINIGUI - Harbour Win32 GUI library Demo
 *
 * Copyright 2002 Roberto Lopez <harbourminigui@gmail.com>
 * http://harbourminigui.googlepages.com/
*/


* Enjoy !

#include "minigui.ch"

Function Main

	SET CENTURY ON
	SET DELETED ON

	DEFINE WINDOW Form_1 ;
		AT 0,0 ;
		WIDTH 640 HEIGHT 480 ;
		TITLE 'MiniGUI Browse Demo)' ;
		MAIN NOMAXIMIZE ;
		ON INIT OpenTables() ;
		ON RELEASE CloseTables()

		DEFINE MAIN MENU 
			POPUP 'File'
				ITEM 'Set Browse Value'	ACTION Form_1.Browse_1.Value := 10
				ITEM 'Get Browse Value'	ACTION MsgInfo ( Str ( Form_1.Browse_1.Value ) )
				ITEM 'Refresh Browse'	ACTION Form_1.Browse_1.Refresh
				SEPARATOR
				ITEM 'Exit'		ACTION Form_1.Release
			END POPUP
			POPUP 'Help'
				ITEM 'About'		ACTION MsgInfo ("MiniGUI Browse Demo") 
			END POPUP
		END MENU

		DEFINE STATUSBAR
			STATUSITEM ''
		END STATUSBAR

		@ 10,10 BROWSE Browse_1									;
			WIDTH 610  										;
			HEIGHT 390 										;	
			HEADERS { 'Code' , 'First Name' , 'Last Name', 'Birth Date', 'Married' , 'Biography' } ;
			WIDTHS { 150 , 150 , 150 , 150 , 150 , 150 } ;
			WORKAREA Test ;
			FIELDS { 'Test->Code' , 'Test->First' , 'Test->Last' , 'Test->Birth' , 'Test->Married' , 'Test->Bio' } ;
			FONT 'CALIBRI' SIZE 10 ;
			TOOLTIP 'Browse Test' ;
			ON CHANGE 		  ChangeTest() ;
			ON DBLCLICK    RE_ChangeTest() ;
			JUSTIFY { BROWSE_JTFY_LEFT,BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER,BROWSE_JTFY_CENTER} 



	END WINDOW

	CENTER WINDOW Form_1

	Form_1.Browse_1.SetFocus

	ACTIVATE WINDOW Form_1

Return Nil

Procedure OpenTables()

	Use Test //Index Code
	Index On Code To Code
	Go Top

	Form_1.Browse_1.Value := RecNo()	
	
Return Nil

Procedure CloseTables()
	Use
Return Nil

Procedure ChangeTest()

	Form_1.StatusBar.Item(1) := 'Selected Record: ' + Alltrim( Str( Form_1.Browse_1.Value ) ) 
	MSGBOX("CHANGE")
Return 
Procedure Re_ChangeTest()

	Form_1.StatusBar.Item(1) := 'Selected Record: ' + Alltrim( Str( Form_1.Browse_1.Value ) ) 
	MSGBOX("Re_CHANGE")
Return 

User avatar
SALINETAS24
Posts: 358
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Has thanked: 27 times
Been thanked: 24 times

Post by SALINETAS24 » Thu Nov 14, 2019 8:02 pm

Y me he dado cuenta de otra cosa, y no se si algún otro usuario lo habrá detectado.
LA VELOCIDAD DE HACER DOBLECLICK ..., es extraño pero si lo hago rápido, tengo un TEXTBOX que debe recibir el FOCUS y que me falla..., y si lo hago "al compas", (dejando en CLICK y CLICK como un impas de tempo), pues perfecto!!.
COSA RARA..

Salud y una cervecita para todos..

User avatar
gfilatov
Posts: 672
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Has thanked: 24 times
Been thanked: 236 times
Contact:

Post by gfilatov » Fri Nov 15, 2019 11:35 am

SALINETAS24 wrote:
Thu Nov 14, 2019 7:30 pm
Os paso un programa ejemplo, con las clausualas ON CHANGE y ON DBLCLICK
Entiendo el funcionamiento de ambas pero he detectado un estraño funcionamiento.
Si doy DBLCLICK con el ratón sobre el registro activo, (sin realizar ningún cambio , no me muevo de la linea del browse), se ejecuta siempre el ON CHANGE antes del ON DBLCLIK.
¿por que ..?
¿ Es correcto ese funcionamiento...? A mi me parece que no.
Hay alguna forma de evitarlo.....

Muy agradecido y vamos con una cervecita.., bien fresquita!!
Hello,

Thanks for your bug report :!:

I'm confirm the above problem also :(

BTW This bug will be fixed at a next MiniguiEx build :arrow:
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein

Post Reply