ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Unexpected Behaviour of _ExcelObject_WindowDeactivate (https://www.excelbanter.com/excel-programming/430670-unexpected-behaviour-_excelobject_windowdeactivate.html)

JIGNESH

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




Jacob Skaria

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




JIGNESH

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards


"Jacob Skaria" wrote:

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




Jacob Skaria

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Application.Hwnd returns a Long indicating the top-level window handle of the
Microsoft Excel window.

Or try Application.WindowState

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards


"Jacob Skaria" wrote:

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




JIGNESH

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 
Hi Jacob
Application.WindowState only has 3 state, Maximize, Minimize and Normal.
Where as what i am looking at is WindowActivate and WindowDeActivate states.

I think i will go with Application.Hwnd. Now what do i do with it?
I understand idllimport stuff. need calling of WinAPI using
but i hav't use it before. Can you help with an code example or discuss the
steps in sequence (The API i need to call to hook Activate and Deactivate
Events )

Regards

Thanks for help so far.





"Jacob Skaria" wrote:

Application.Hwnd returns a Long indicating the top-level window handle of the
Microsoft Excel window.

Or try Application.WindowState

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards


"Jacob Skaria" wrote:

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




Jacob Skaria

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Check out the below link
http://www.mvps.org/access/api/api0034.htm

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob
Application.WindowState only has 3 state, Maximize, Minimize and Normal.
Where as what i am looking at is WindowActivate and WindowDeActivate states.

I think i will go with Application.Hwnd. Now what do i do with it?
I understand idllimport stuff. need calling of WinAPI using
but i hav't use it before. Can you help with an code example or discuss the
steps in sequence (The API i need to call to hook Activate and Deactivate
Events )

Regards

Thanks for help so far.





"Jacob Skaria" wrote:

Application.Hwnd returns a Long indicating the top-level window handle of the
Microsoft Excel window.

Or try Application.WindowState

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards


"Jacob Skaria" wrote:

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?




JIGNESH

Unexpected Behaviour of _ExcelObject_WindowDeactivate
 

Hi Jacob

Thanks for the link.

In the Link, I believe function like sHook & sUnHook is missing,
Do you have any idea on this ?

Regards


"Jacob Skaria" wrote:

Check out the below link
http://www.mvps.org/access/api/api0034.htm

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob
Application.WindowState only has 3 state, Maximize, Minimize and Normal.
Where as what i am looking at is WindowActivate and WindowDeActivate states.

I think i will go with Application.Hwnd. Now what do i do with it?
I understand idllimport stuff. need calling of WinAPI using
but i hav't use it before. Can you help with an code example or discuss the
steps in sequence (The API i need to call to hook Activate and Deactivate
Events )

Regards

Thanks for help so far.





"Jacob Skaria" wrote:

Application.Hwnd returns a Long indicating the top-level window handle of the
Microsoft Excel window.

Or try Application.WindowState

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi Jacob,

I don;t prefer to use Windows API. is there a Add-in way to capture
Activate and deactivate event of Excel Main/Parent MDI Window?

Regards


"Jacob Skaria" wrote:

Hi Jignesh

--Window Activate and Deactivate events are similar to MDI child window
activate/deactivate OR in other words events within one windows
application/one Process ID.

--What you are looking of is active Application. The GetForegroundWindow
function in .NET returns a handle to the foreground window

Refer http://msdn.microsoft.com/en-us/libr...05(VS.85).aspx

If this post helps click Yes
---------------
Jacob Skaria


"JIGNESH" wrote:

Hi
I am writing an Excel Addin. using VS2008 and .net 3.5
I traped following events
_ExcelObject.WindowActivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowAct ivateEventHandler(_ExcelObject_WindowActivate);
_ExcelObject.WindowDeactivate += new
Microsoft.Office.Interop.Excel.AppEvents_WindowDea ctivateEventHandler(_ExcelObject_WindowDeactivate) ;


It was surprized to know that WindowActivate and Deactivate only triggers
when i switch between two excel windows. if i switch to notepad, i expect
Deactivate to be triggered, but its not happening. sameway from notepad if i
switch to excel window, i expect Activate to be tiggered but its not
happening.

This is quite annoying.

Anyone knows the reason and correct way to handle it ?





All times are GMT +1. The time now is 02:06 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com