JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_ActiveXControlComponent.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29#if JUCE_WINDOWS || DOXYGEN
30
31//==============================================================================
45class JUCE_API ActiveXControlComponent : public Component
46{
47public:
48 //==============================================================================
51
54
66 bool createControl (const void* controlIID);
67
71
73 bool isControlOpen() const noexcept { return control != nullptr; }
74
100 void* queryInterface (const void* iid) const;
101
104 void setMouseEventsAllowed (bool eventsCanReachControl);
105
108 bool areMouseEventsAllowed() const noexcept { return mouseEventsAllowed; }
109
110 //==============================================================================
113 void setEventHandler (void* eventHandler);
114
115 //==============================================================================
117 void paint (Graphics&) override;
118
120 intptr_t offerEventToActiveXControl (void*);
121 static intptr_t offerEventToActiveXControlStatic (void*);
122
123private:
124 class Pimpl;
126 bool mouseEventsAllowed = true;
127
129};
130
131#endif
132
133} // namespace juce
A Windows-specific class that can create and embed an ActiveX control inside itself.
void deleteControl()
Deletes the ActiveX control, if one has been created.
bool createControl(const void *controlIID)
Tries to create an ActiveX control and embed it in this peer.
void setEventHandler(void *eventHandler)
Set an instance of IDispatch where dispatch events should be delivered to.
~ActiveXControlComponent() override
Destructor.
void paint(Graphics &) override
Components can override this method to draw their content.
bool areMouseEventsAllowed() const noexcept
Returns true if mouse events are allowed to get through to the control.
void setMouseEventsAllowed(bool eventsCanReachControl)
Set this to false to stop mouse events being allowed through to the control.
void * queryInterface(const void *iid) const
Does a QueryInterface call on the embedded control object.
bool isControlOpen() const noexcept
Returns true if a control is currently in use.
ActiveXControlComponent()
Create an initially-empty container.
The base class for all JUCE user-interface objects.
A graphics context, used for drawing a component or image.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.
typedef intptr_t