|
View:
New views
15 Messages
—
Rating Filter:
Alert me
|
|
|
How get the Area Handle ?Hello, I want to put any windows application, like
MS Word for example, in my Area Plug-in zone. I want to do this with the SetParent method
but I need the handle of my area. How can I get the Handle of the Area Plug-in
? Best Regards,
|
|
|
|
Re: How get the Area Handle ?On 22 jul 2009, at 17:26, Brice Cadran wrote: > I want to put any windows application, like MS Word for example, in > my Area Plug-in zone. > I want to do this with the SetParent method but I need the handle of > my area. How can I get the Handle of the Area Plug-in ? Do you mean the window handle (HWND) of the 4D window on which the plugin area resides? You can obtain that one by calling PA_GetHWND( 0L ) (during for example the eAE_Init event). HTH, - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
RE: How get the Area Handle ?Hi and thanks for help.
It's not really what I want. I think I need the Handle of the PlugIn Zone to put an application into it ! So how can I get this Handle ? Thanks to help me... Best regards, Brice Cadran -----Message d'origine----- De : 4D-Plugins@... [mailto:4D-Plugins@...] De la part de Rob Laveaux Envoyé : jeudi 23 juillet 2009 14:30 À : 4D Plugin Talk Objet : Re: How get the Area Handle ? On 22 jul 2009, at 17:26, Brice Cadran wrote: > I want to put any windows application, like MS Word for example, in > my Area Plug-in zone. > I want to do this with the SetParent method but I need the handle of > my area. How can I get the Handle of the Area Plug-in ? Do you mean the window handle (HWND) of the 4D window on which the plugin area resides? You can obtain that one by calling PA_GetHWND( 0L ) (during for example the eAE_Init event). HTH, - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
Re: How get the Area Handle ?On 23 jul 2009, at 15:12, Brice Cadran wrote: > It's not really what I want. I think I need the Handle of the PlugIn > Zone to > put an application into it ! > So how can I get this Handle ? You create it yourself. Let's say you have a class named CMyPluginArea. You then just create an instance of that class and return the memory address of the instance back to 4D. In subsequent commands you just typecast the longint value back to a pointer. For example: CMyPluginArea* area = NULL; event = PA_GetAreaEvent( params ); switch ( event ) { // --- Initialisation case eAE_InitArea : area = new CMyPluginArea(); PA_SetAreaReference( params, area ); break; // --- Deinitialisation case eAE_Deinit : area = (CMyPluginArea*) PA_GetAreaReference( params ); delete area; break; } HTH, - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
RE: How get the Area Handle ?Hi Rob,
Thanks again for help, Brice works with me and we works together in this project. So we just discovered this class : CMyPluginArea. So we have to create an instance of this one and use the longint to work in the area ? Can we use this longint like an Handle of the Plugin zone ? Best regards, Jean-François DAVID -----Message d'origine----- De : 4D-Plugins@... [mailto:4D-Plugins@...] De la part de Rob Laveaux Envoyé : jeudi 23 juillet 2009 15:32 À : 4D Plugin Talk Objet : Re: How get the Area Handle ? On 23 jul 2009, at 15:12, Brice Cadran wrote: > It's not really what I want. I think I need the Handle of the PlugIn > Zone to > put an application into it ! > So how can I get this Handle ? You create it yourself. Let's say you have a class named CMyPluginArea. You then just create an instance of that class and return the memory address of the instance back to 4D. In subsequent commands you just typecast the longint value back to a pointer. For example: CMyPluginArea* area = NULL; event = PA_GetAreaEvent( params ); switch ( event ) { // --- Initialisation case eAE_InitArea : area = new CMyPluginArea(); PA_SetAreaReference( params, area ); break; // --- Deinitialisation case eAE_Deinit : area = (CMyPluginArea*) PA_GetAreaReference( params ); delete area; break; } HTH, - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
RE: How get the Area Handle ?Sorry but we don't have this class : CMyPluginArea
Jean-François DAVID. -----Message d'origine----- De : 4D-Plugins@... [mailto:4D-Plugins@...] De la part de Rob Laveaux Envoyé : jeudi 23 juillet 2009 15:32 À : 4D Plugin Talk Objet : Re: How get the Area Handle ? On 23 jul 2009, at 15:12, Brice Cadran wrote: > It's not really what I want. I think I need the Handle of the PlugIn > Zone to > put an application into it ! > So how can I get this Handle ? You create it yourself. Let's say you have a class named CMyPluginArea. You then just create an instance of that class and return the memory address of the instance back to 4D. In subsequent commands you just typecast the longint value back to a pointer. For example: CMyPluginArea* area = NULL; event = PA_GetAreaEvent( params ); switch ( event ) { // --- Initialisation case eAE_InitArea : area = new CMyPluginArea(); PA_SetAreaReference( params, area ); break; // --- Deinitialisation case eAE_Deinit : area = (CMyPluginArea*) PA_GetAreaReference( params ); delete area; break; } HTH, - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
Re: How get the Area Handle ?On 23 jul 2009, at 16:08, Jean-François DAVID wrote: > Sorry but we don't have this class : CMyPluginArea That's where your own code goes. You have to write it yourself. class CMyPluginArea { // Your stuff here }; - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
RE: How get the Area Handle ?I think I don't understand... Excuse me...
But, I just want to have the Handle of my Zone PlugIn... I don't understand, When 4D load my form in which is my AreaPlugin, 4D doesn't attribute a Handle of this zone ? J-F -----Message d'origine----- De : 4D-Plugins@... [mailto:4D-Plugins@...] De la part de Rob Laveaux Envoyé : jeudi 23 juillet 2009 16:42 À : 4D Plugin Talk Objet : Re: How get the Area Handle ? On 23 jul 2009, at 16:08, Jean-François DAVID wrote: > Sorry but we don't have this class : CMyPluginArea That's where your own code goes. You have to write it yourself. class CMyPluginArea { // Your stuff here }; - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
Re: How get the Area Handle ?On 23 jul 2009, at 16:56, Jean-François DAVID wrote: > I think I don't understand... Excuse me... > > But, I just want to have the Handle of my Zone PlugIn... I don't > understand, > When 4D load my form in which is my AreaPlugin, 4D doesn't attribute a > Handle of this zone ? No, you have to assign it yourself. It is your task to return a reference for the plugin area. Usually you use the memory address of a struct or object that contains all the properties for your plugin area. - Rob Laveaux -------------------------------------------------------- Pluggers Software Bleriotlaan 62 2497 BM Den Haag The Netherlands Email: rob.laveaux@... Website: http://www.pluggers.nl -------------------------------------------------------- ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
Re: How get the Area Handle ?On 23 Jul 2009, at 17:09, Rob Laveaux wrote: > No, you have to assign it yourself. It is your task to return a > reference for the plugin area. > Usually you use the memory address of a struct or object that > contains all the properties for your plugin area. Rob, As I understand it, he needs HWND. The HWND will be passed to another application as parent window (to which that another application will install its own content.) However, it is not clear if the passed HWND will be filled by another application, or if another application will create its own child window in passed window. In first case (which is IMHO more probable) the plugin should create child window of the size of plug-in area and pass this window to external application. We played with this idea, however it does not worked well in 4D (at least till v2004, we are still testing it in v11.) We had problems to propagate events received by child window to 4D, and there were some problems in drawing to child window - I do not remember details - it was some time ago. However, we are using the child window if we need to install own event handlers on Windows - installing event handler to 4D window can cause problems. IMHO, what is missing is the ability to register child windows with 4D. Then 4D would be able to install its own event handler and inspect the events before they are received by plug-in. Or maybe we overlooked this ability. Peter Bozek ********************************************************************** 4D Plugins hosted by 4D, Inc. http://www.4D.com/ Register for 4D Summit 2009 Today Early Bird Pricing Ends August 28th - http://www.4D.com/summit To Unsubscribe: mailto:4D-Plugins-off@... *********************************************************************** |
|
|
|
|
JF,
Perhaps you and Rob are talking about two different things, hence the confusion.
When your plugin area gets called, there are a number of events that it will receive, init, deinit, update window, mouse down etc.
You can write this code as a class or as straight c code. To draw or write to your plugin area you need to call GetWindowDC for a drawing context and I imagine that that window handle is the handle that you are talking about. Rob is talking about the address of where your plugin code resides in memory.
Mike Gilligan
|
Hi ,
I have to say thanks all for your help.
What we want it’s to know the Handle
of the Area PlugIn Zone.
With this Handle we want to do a SetParent
of any Windows Application.
The result is to have for example the
notepad in an Are Plugin Zone which is on a 4D form.
Thanks for help, talk to you
J-F
De :
4D-Plugins@... [mailto:4D-Plugins@...] De la part de Michael Gilligan
Envoyé : jeudi 23 juillet
2009 17:45
À : 4D Plugin Talk
Objet : RE: How get the Area
Handle ?
|
JF, Perhaps you and Rob are talking about two different
things, hence the confusion. When your plugin area gets called, there are a
number of events that it will receive, init, deinit, update window, mouse
down etc. You can write this code as a class or as straight c
code. To draw or write to your plugin area you need to call
GetWindowDC for a drawing context and I imagine that that window handle is
the handle that you are talking about. Rob is talking about the address
of where your plugin code resides in memory. Mike Gilligan MedeaOne
|
J-F,
My past experience tells me that messing with windows in 4D leads to trouble so I have avoided client windows, but if you want to have a go at it, this should get you started:
#include "4DPluginAPI.h"
#include "4DPlugin.h"
#include "Windows.h"
HDC hdc;
PA_WindowRef wref;
HWND hwnd;
wref=PA_GetWindowFocused();
hwnd=(HWND)PA_GetHWND((PA_WindowRef)wref);
hdc=(HDC)GetWindowDC(hwnd);
Get the 4D Plugin Kit for the header files and calls.
Good Luck!
Mike Gilligan
MedeaOne
--- On Fri, 7/24/09, Jean-François DAVID <jeanfrancois.david@...> wrote:
|
| Free embeddable forum powered by Nabble | Forum Help |