Wednesday, December 08, 2004


HTML Editor

Introduction to MSHTML Editing

经常被提到的具有诸多衍生产品的 The HTMLEditor 确实能让人学到不少东西。

首先是using mshtml; 这个引用域名。

public interface IPropertyNotifySink
public interface IOleClientSite
public interface IOleContainer
public interface IDocHostUIHandler
public interface IOleInPlaceUIWindow
public interface IOleInPlaceFrame
public interface IOleInPlaceSite
public interface IOleInPlaceSiteEx
public interface IOleDocumentSite
public interface IOleDocumentView
public interface IOleInPlaceObject
public interface IOleInPlaceActiveObject
public interface IOleObject
public interface IPersistMoniker
public interface IPersistStreamInit
public interface IOleCommandTarget
public interface IServiceProvider
public interface IHTMLEditHost
public interface IHTMLEditServices
public interface IHTMLEditDesigner
public interface IDocHostShowUI

HtmlSite.cs Implements the site on which mshtml is hosted

整个项目的精华都在HtmlEditor.cs 中,代码组织得很好,看起来比较好懂。


ComStream.cs This class implements UCOMIStream for an easier way to read back the output from IPersistStreamInit. Thanks to microsoft.public.dotnet.general

ComposeSettings.cs 储存用户设定

utils.cs HTML文档的Load,或者URL的Load。相当麻烦,而且不知道有没有相关文档。

EventHandlers.cs文件中是HtmlEditor.cs 中Event的声明,目前这个版本的Event似乎不全(记得不准),而且可以看到不断增加Event的痕迹。估计以后还会不断增加吧。

CSnap.cs implement IHtmlEditHost,这一部分显然离完成还差很远。它和HtmlEditor.cs中的timer一起工作,及时刷新编辑效果。

DownloadOnlySite.cs 处理由于脚本等不能在线编辑的情况。

Using IHTMLEditDesigner
By Rob Manderson

Implementing snap-to-grid in an MSHTML based application
By Rob Manderson

HTML Editor for VC++ 6.0
by irekz
和The HTMLEditor的实现方法大致一样,也很不错

WYSIWYG Web Builder
By Pablo Vandermeer

This project started as a replacement for ‘good-old’ Frontpage Express that used to be part of Windows. Just a simple, easy-to-use utility to generate web pages. Web Builder has almost all the features Frontpage Express had, but gives you much more freedom of where you put your web objects (such as images, text, tables etc). This means that the finished page will display in your browser exactly the way it was designed.
The program generates HTML (HyperText Markup Language) tags while you point and click on desired functions; you can create a web page without learning HTML. Just drag and drop objects to the page position them 'anywhere' you want and when you're finished publish it to your web server (using the build in Publish tool).

- No HTML knowlegde needed!
- Drag and drop of the HTML objects: Text, Lines, Images, Marquees and Tables.
- Form layout object to create forms, including actions, hidden fields etc.
- Supports Form fields: Editbox, TextArea, Checkbox, Radiobutton, Combobox and Button.
- Rich text support: text object can contain different fonts, colors, links and sizes.
- Option to add custom HTML for each object (Before Tag, Inside Tag, After Tag).
- Custom HTML object.
- Scripting object (VbScript and Javascript).
- ActiveX, JAVA, Flash, Windows Media player, Quicktime and other Plug-In support.
- Publish to local drive or a FTP server.
- Images can be drag'n dropped from explorer on the document to speed up development.
- Easy Photo Gallery creation.
- Banners.
- Rollover images.
- Bookmarks.
- Customize scrollbar colors for Microsoft Internet Explorer.
- Meta tags.
- Printing/Print preview.
- Clipboard Copy/Cut/Paste.
- Aligning functions.
- Undo/Redo.
- and much more!

Try it and let me know what you think of it.
Who knows maybe one day it will be a standard part of Windows...

This one is super cool. However, it is not free now!

<< Home

This page is powered by Blogger. Isn't yours?