linux下的应用程序嵌入gecko内核
时间:2006-03-07 来源:雨中漫步
mono里有个
C# Example
using System;
using Gtk;
using Gecko;
namespace GeckoTest
{
class GeckoTest
{
WebControl moz;
Entry entry;
string currentUrl;
Statusbar sb;
ProgressBar pb;
static void Main (string[] args)
{
new GeckoTest ();
}
GeckoTest ()
{
Application.Init ();
Window win = new Window ("GeckoTest");
win.SetDefaultSize (800, 600);
win.DeleteEvent += new DeleteEventHandler (window_delete);
VBox vbox = new VBox (false, 1);
win.Add (vbox);
HBox tb = new HBox (true, 1);
Button btnBack = new Button (Gtk.Stock.GoBack);
btnBack.Clicked += new EventHandler (on_btnBack_clicked);
Button btnForward = new Button (Gtk.Stock.GoForward);
btnForward.Clicked += new EventHandler (on_btnForward_clicked);
Button btnStop = new Button (Gtk.Stock.Stop);
btnStop.Clicked += new EventHandler (on_btnStop_clicked);
Button btnRefresh = new Button (Gtk.Stock.Refresh);
btnRefresh.Clicked += new EventHandler (on_btnRefresh_clicked);
tb.Add (btnBack);
tb.Add (btnForward);
tb.Add (btnStop);
tb.Add (btnRefresh);
vbox.PackStart (tb, false, false, 1);
HBox hbox = new HBox (false, 1);
Label label = new Label ("Address:");
entry = new Entry ("URL");
entry.Activated += new EventHandler (entry_activated);
Button button = new Button ("GO!");
button.Clicked += new EventHandler (button_clicked);
hbox.PackStart (label, false, false, 1);
hbox.PackStart (entry, true, true, 1);
hbox.PackStart (button, false, false, 1);
vbox.PackStart (hbox, false, false, 1);
moz = new WebControl ("/tmp/csharp", "GeckoTest");
moz.LinkMsg += new EventHandler(on_moz_linkmessage);
vbox.PackStart(moz, true, true, 1);
HBox hbox2 = new HBox (false, 1);
vbox.PackStart (hbox2, false, false, 1);
sb = new Statusbar ();
sb.Push (1, "Welcome!");
hbox2.Add (sb);
pb = new ProgressBar ();
pb.Orientation = ProgressBarOrientation.LeftToRight;
hbox2.Add (pb);
win.ShowAll ();
Application.Run ();
}
void window_delete (object obj, DeleteEventArgs args)
{
Application.Quit();
}
void button_clicked (object obj, EventArgs args)
{
LoadHtml (entry.Text.Trim());
}
void on_moz_linkmessage (object obj, EventArgs args)
{
sb.Pop (1);
sb.Push (1, moz.LinkMessage);
}
void entry_activated (object obj, EventArgs args)
{
button_clicked (obj, args);
}
void LoadHtml (string URL)
{
moz.LoadUrl (URL);
}
void on_btnBack_clicked (object obj, EventArgs args)
{
moz.GoBack();
}
void on_btnStop_clicked (object obj, EventArgs args)
{
moz.StopLoad();
}
void on_btnForward_clicked (object obj, EventArgs args)
{
moz.GoForward();
}
void on_btnRefresh_clicked (object obj, EventArgs args)
{
moz.Reload(0);
}
}
}
Namespace: Gecko
Assembly: gecko-sharp 2.0.0.0 (in gecko-sharp.dll)
Gecko.WebControl Class
Embed a Mozilla browser window into your Gtk# application.C# Example
using System;
using Gtk;
using Gecko;
namespace GeckoTest
{
class GeckoTest
{
WebControl moz;
Entry entry;
string currentUrl;
Statusbar sb;
ProgressBar pb;
static void Main (string[] args)
{
new GeckoTest ();
}
GeckoTest ()
{
Application.Init ();
Window win = new Window ("GeckoTest");
win.SetDefaultSize (800, 600);
win.DeleteEvent += new DeleteEventHandler (window_delete);
VBox vbox = new VBox (false, 1);
win.Add (vbox);
HBox tb = new HBox (true, 1);
Button btnBack = new Button (Gtk.Stock.GoBack);
btnBack.Clicked += new EventHandler (on_btnBack_clicked);
Button btnForward = new Button (Gtk.Stock.GoForward);
btnForward.Clicked += new EventHandler (on_btnForward_clicked);
Button btnStop = new Button (Gtk.Stock.Stop);
btnStop.Clicked += new EventHandler (on_btnStop_clicked);
Button btnRefresh = new Button (Gtk.Stock.Refresh);
btnRefresh.Clicked += new EventHandler (on_btnRefresh_clicked);
tb.Add (btnBack);
tb.Add (btnForward);
tb.Add (btnStop);
tb.Add (btnRefresh);
vbox.PackStart (tb, false, false, 1);
HBox hbox = new HBox (false, 1);
Label label = new Label ("Address:");
entry = new Entry ("URL");
entry.Activated += new EventHandler (entry_activated);
Button button = new Button ("GO!");
button.Clicked += new EventHandler (button_clicked);
hbox.PackStart (label, false, false, 1);
hbox.PackStart (entry, true, true, 1);
hbox.PackStart (button, false, false, 1);
vbox.PackStart (hbox, false, false, 1);
moz = new WebControl ("/tmp/csharp", "GeckoTest");
moz.LinkMsg += new EventHandler(on_moz_linkmessage);
vbox.PackStart(moz, true, true, 1);
HBox hbox2 = new HBox (false, 1);
vbox.PackStart (hbox2, false, false, 1);
sb = new Statusbar ();
sb.Push (1, "Welcome!");
hbox2.Add (sb);
pb = new ProgressBar ();
pb.Orientation = ProgressBarOrientation.LeftToRight;
hbox2.Add (pb);
win.ShowAll ();
Application.Run ();
}
void window_delete (object obj, DeleteEventArgs args)
{
Application.Quit();
}
void button_clicked (object obj, EventArgs args)
{
LoadHtml (entry.Text.Trim());
}
void on_moz_linkmessage (object obj, EventArgs args)
{
sb.Pop (1);
sb.Push (1, moz.LinkMessage);
}
void entry_activated (object obj, EventArgs args)
{
button_clicked (obj, args);
}
void LoadHtml (string URL)
{
moz.LoadUrl (URL);
}
void on_btnBack_clicked (object obj, EventArgs args)
{
moz.GoBack();
}
void on_btnStop_clicked (object obj, EventArgs args)
{
moz.StopLoad();
}
void on_btnForward_clicked (object obj, EventArgs args)
{
moz.GoForward();
}
void on_btnRefresh_clicked (object obj, EventArgs args)
{
moz.Reload(0);
}
}
}
Namespace: Gecko
Assembly: gecko-sharp 2.0.0.0 (in gecko-sharp.dll)
相关阅读 更多 +
排行榜 更多 +