#include <webchild.h>


Public Types | |
| typedef BASE | super |
Public Member Functions | |
| IPCtrlWindow (HWND hwnd) | |
| template<typename T > | |
| IPCtrlWindow (HWND hwnd, T &info) | |
| HRESULT | create_control (HWND hwnd, REFIID clsid, REFIID riid) |
Protected Member Functions | |
| LRESULT | WndProc (UINT nmsg, WPARAM wparam, LPARAM lparam) |
Protected Attributes | |
| ComInit | _usingCOM |
| SMARTPTR | _control |
| OleInPlaceClient | _client_side |
| SIfacePtr< IOleInPlaceObject > | _in_place_object |
Definition at line 321 of file webchild.h.
| typedef BASE IPCtrlWindow< BASE, SMARTPTR >::super |
Reimplemented in WebChildWindow.
Definition at line 323 of file webchild.h.
| IPCtrlWindow< BASE, SMARTPTR >::IPCtrlWindow | ( | HWND | hwnd ) | [inline] |
Definition at line 325 of file webchild.h.
: super(hwnd) { }
| IPCtrlWindow< BASE, SMARTPTR >::IPCtrlWindow | ( | HWND | hwnd, |
| T & | info | ||
| ) | [inline] |
Definition at line 330 of file webchild.h.
: super(hwnd, info) { }
| HRESULT IPCtrlWindow< BASE, SMARTPTR >::create_control | ( | HWND | hwnd, |
| REFIID | clsid, | ||
| REFIID | riid | ||
| ) | [inline] |
Definition at line 335 of file webchild.h.
{
// Erzeugen einer Instanz des Controls
HRESULT hr = _control.CreateInstance(clsid, riid);
if (FAILED(hr))
return hr;
_client_side.attach(hwnd);
hr = _client_side.attach_control(SIfacePtr<IOleObject>(_control, IID_IOleObject)/*, OLEIVERB_INPLACEACTIVATE,
hwnd, &Rect(10, 10, 500, 500)*/);
if (FAILED(hr))
return hr;
// try to get a IOleInPlaceObject interface for window resizing
return _control.QueryInterface(IID_IOleInPlaceObject, &_in_place_object); // _in_place_object = _control
}
| LRESULT IPCtrlWindow< BASE, SMARTPTR >::WndProc | ( | UINT | nmsg, |
| WPARAM | wparam, | ||
| LPARAM | lparam | ||
| ) | [inline, protected] |
Reimplemented in WebChildWindow.
Definition at line 354 of file webchild.h.
Referenced by IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::WndProc().
{
if (nmsg == WM_SIZE) {
if (_in_place_object) {
RECT rect = {0, 0, LOWORD(lparam), HIWORD(lparam)};
_in_place_object->SetObjectRects(&rect, &rect);
}
} else if (nmsg == WM_CLOSE) {
_in_place_object = NULL;
if (_control) {
_client_side.detach(SIfacePtr<IOleObject>(_control, IID_IOleObject), OLECLOSE_NOSAVE);
_control = NULL;
}
}
return super::WndProc(nmsg, wparam, lparam);
}

OleInPlaceClient IPCtrlWindow< BASE, SMARTPTR >::_client_side [protected] |
Definition at line 376 of file webchild.h.
Referenced by IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::create_control(), and IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::WndProc().
SMARTPTR IPCtrlWindow< BASE, SMARTPTR >::_control [protected] |
Definition at line 375 of file webchild.h.
Referenced by IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::create_control(), and IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::WndProc().
SIfacePtr<IOleInPlaceObject> IPCtrlWindow< BASE, SMARTPTR >::_in_place_object [protected] |
Definition at line 377 of file webchild.h.
Referenced by IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::create_control(), and IPCtrlWindow< ChildWindow, SIfacePtr< IWebBrowser2 > >::WndProc().
ComInit IPCtrlWindow< BASE, SMARTPTR >::_usingCOM [protected] |
Definition at line 374 of file webchild.h.
|
ROS Explorer Source Code Documentation
generated on 02.01.2013 by
|