]>
Commit | Line | Data |
---|---|---|
1 | #ifndef _IEHTMLWIN_H_ | |
2 | #define _IEHTMLWIN_H_ | |
3 | #pragma warning( disable : 4101 4786) | |
4 | #pragma warning( disable : 4786) | |
5 | ||
6 | ||
7 | #include <wx/setup.h> | |
8 | #include <wx/wx.h> | |
9 | #include <exdisp.h> | |
10 | #include <iostream> | |
11 | using namespace std; | |
12 | ||
13 | #include "wxactivex.h" | |
14 | ||
15 | class wxMSHTMLEvent : public wxNotifyEvent | |
16 | { | |
17 | public: | |
18 | wxMSHTMLEvent(wxEventType commandType = wxEVT_NULL, int id = 0) | |
19 | : wxNotifyEvent(commandType, id) | |
20 | {} | |
21 | ||
22 | wxString GetText1() { return m_text1; } | |
23 | long GetLong1() { return m_long1; } | |
24 | long GetLong2() { return m_long2; } | |
25 | ||
26 | ||
27 | wxString m_text1; | |
28 | long m_long1, m_long2; | |
29 | ||
30 | virtual wxEvent *Clone() const { return new wxMSHTMLEvent(*this); } | |
31 | ||
32 | private: | |
33 | DECLARE_DYNAMIC_CLASS(wxMSHTMLEvent) | |
34 | ||
35 | }; | |
36 | ||
37 | BEGIN_DECLARE_EVENT_TYPES() | |
38 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, 0) | |
39 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_NEWWINDOW2, 0) | |
40 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, 0) | |
41 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, 0) | |
42 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, 0) | |
43 | DECLARE_LOCAL_EVENT_TYPE(wxEVT_COMMAND_MSHTML_TITLECHANGE, 0) | |
44 | END_DECLARE_EVENT_TYPES() | |
45 | ||
46 | typedef void (wxEvtHandler::*wxMSHTMLEventFunction)(wxMSHTMLEvent&); | |
47 | ||
48 | #define EVT_MSHTML_BEFORENAVIGATE2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_BEFORENAVIGATE2, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
49 | #define EVT_MSHTML_NEWWINDOW2(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_NEWWINDOW2, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
50 | #define EVT_MSHTML_DOCUMENTCOMPLETE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_DOCUMENTCOMPLETE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
51 | #define EVT_MSHTML_PROGRESSCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_PROGRESSCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
52 | #define EVT_MSHTML_STATUSTEXTCHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_STATUSTEXTCHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
53 | #define EVT_MSHTML_TITLECHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_COMMAND_MSHTML_TITLECHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxMSHTMLEventFunction) & fn, NULL ), | |
54 | ||
55 | ||
56 | enum wxIEHtmlRefreshLevel | |
57 | { | |
58 | wxIEHTML_REFRESH_NORMAL = 0, | |
59 | wxIEHTML_REFRESH_IFEXPIRED = 1, | |
60 | wxIEHTML_REFRESH_CONTINUE = 2, | |
61 | wxIEHTML_REFRESH_COMPLETELY = 3 | |
62 | }; | |
63 | ||
64 | class wxIEHtmlWin : public wxActiveX | |
65 | { | |
66 | public: | |
67 | wxIEHtmlWin(wxWindow * parent, wxWindowID id = -1, | |
68 | const wxPoint& pos = wxDefaultPosition, | |
69 | const wxSize& size = wxDefaultSize, | |
70 | long style = 0, | |
71 | const wxString& name = wxPanelNameStr); | |
72 | virtual ~wxIEHtmlWin(); | |
73 | ||
74 | void LoadUrl(const wxString&); | |
75 | bool LoadString(wxString html); | |
76 | bool LoadStream(istream *strm); | |
77 | ||
78 | void SetCharset(wxString charset); | |
79 | void SetEditMode(bool seton); | |
80 | bool GetEditMode(); | |
81 | wxString GetStringSelection(bool asHTML = false); | |
82 | wxString GetText(bool asHTML = false); | |
83 | ||
84 | bool GoBack(); | |
85 | bool GoForward(); | |
86 | bool GoHome(); | |
87 | bool GoSearch(); | |
88 | bool Refresh(wxIEHtmlRefreshLevel level); | |
89 | bool Stop(); | |
90 | ||
91 | DECLARE_EVENT_TABLE(); | |
92 | ||
93 | protected: | |
94 | void SetupBrowser(); | |
95 | ||
96 | wxAutoOleInterface<IWebBrowser2> m_webBrowser; | |
97 | }; | |
98 | ||
99 | #endif /* _IEHTMLWIN_H_ */ |