Hi,
I have a minimum simple script to show as below:
frame=wx.wxFrame(wx.wxNull, 10001, "test")
--frame:ConnectEvent(10001, wx.wxEVT_ENTER_WINDOW, function (event) print"Enter work" end)
--frame:ConnectEvent(10001, wx.wxEVT_LEAVE_WINDOW, function (event) print"Leave not work" end) --not work
--frame:ConnectEvent(10001, wx.wxEVT_MOTION, function (event) print"Motion Work" end)
--frame:ConnectEvent(10001, wxEVT_LEFT_DCLICK, function (event) print"Not work" end)
--frame:ConnectEvent(10001, wxEVT_LEFT_DOWN, function (event) print"Left down not work" end)
--frame:ConnectEvent(10001, wxEVT_LEFT_UP ,function (event) print"Left up not work" end)
--frame:ConnectEvent(10001, wxEVT_RIGHT_DCLICK ,function (event) print"Right dclick not work" end)
--frame:ConnectEvent(-1, wxEVT_RIGHT_DOWN ,function (event) print"Right down not work" end)
--frame:ConnectEvent(-1, wxEVT_RIGHT_UP ,function (event) print"Right up not work" end)
frame:Center()
frame:Show(true)
Pls note that the above script, the equivalent C++ work as expected. I have tested it using Dialogblocks; add one frame and add the event accordingly.
This one is not related to html window at all
And the HTML window; as you suspect from the above one; it work with wxEVT_COMMAND_BUTTON_CLICKED but not with wxEVT_BUTTON_CLICK or wxEVT_LEFT_DCLICK. I have not tested it with another kind of event.
frame = nil html = nil htmlTextPage = [[<html> <head> <title>Not working</title> </head> <body> <h3>wxHtmlWidgetCell demonstration</h3> There are three bound widgets below. <hr> <center> <lua text="first widget" x=100 y=70> </center> </body> </html>]] function main() -- create the frame window frame = wx.wxFrame( wx.wxNull, wx.wxID_ANY, "HtmlWindow Demo", wx.wxDefaultPosition, wx.wxSize(450, 450), wx.wxDEFAULT_FRAME_STYLE ) -- create a simple file menu -- THIS WORKS -- frame:ConnectEvent(30000, wx.wxEVT_COMMAND_BUTTON_CLICKED, function(event) -- wx.wxMessageBox("Clicked me") end -- -- ) --THIS NOT WORK frame:ConnectEvent(30000, wx.wxEVT_LEFT_DCLICK, function(event) wx.wxMessageBox("Clicked me") end ) -- create the html window html = wx.wxLuaHtmlWindow(frame, 15000) html.>function(self, title) frame.Title = frame.Title.." - "..title end -- when a lua custom tag is parsed in the html, this event handler -- will be invoked wx.wxGetBaseApp():ConnectEvent(wx.wxID_ANY, wx.wxEVT_HTML_TAG_HANDLER, function (event) CreateBoundWindow(event) end) -- set the frame window and status bar html:SetRelatedFrame(frame, "wxHtmlWindow wxLua Sample : %s") html:SetRelatedStatusBar(1) -- load the document html:SetPage(htmlTextPage) -- html:LoadPage("testpage.html") -- show the frame window wx.wxGetBaseApp().TopWindow = frame frame:Show(true) end function CreateBoundWindow(event) local ax, ay local rc, fl = 0 -- parse the X parameter in the custom lua tag rc, ax = event.HtmlTag:GetParamAsInt("X") -- parse the Y parameter rc, ay = event.HtmlTag:GetParamAsInt("Y") -- if there is a float tag set the float if event.HtmlTag:HasParam("FLOAT") then fl = ax end -- create the control to embed local parent = event.HtmlParser.Window if parent then -- local wnd = wx.wxTextCtrl( parent, -- wx.wxID_ANY, -- event.HtmlTag:GetParam("TEXT"), -- wx.wxPoint(0, 0), -- wx.wxSize(ax, ay), -- wx.wxTE_MULTILINE ) -- -- show the control local wnd = wx.wxButton( parent, 30000, event.HtmlTag:GetParam("TEXT"), wx.wxPoint(0, 0), wx.wxSize(ax, ay) ) -- show the control wnd:Show(true) -- create the container widget cell local widget = wx.wxHtmlWidgetCell(wnd, fl) -- insert the cell into the document event.HtmlParser:OpenContainer():InsertCell(widget) event:SetParseInnerCalled(false) end end main()
<[EMAIL PROTECTED]>Can you post a little bit of code to show how it should work and whatSorry the code is a bit too long :-)
I should expect to see based on your C++ tests. I have never used the
HTML widget in lua or C++.
[EMAIL PROTECTED]>
Cheers,
S.KIEU
On Yahoo!7
Answers: Real people ask and answer questions on any topic.
