ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Editeur HTML   



L'auteur

PatriceJ
France France
Membre Simple
# 0000000227
enregistré le 21/03/2005
http://www.vigierguitars.com

Fiche personnelle


Note des membres
pas de note

Contributions > 08 - ActiveX - (OLE)

Editeur HTML
# 0000000983
ajouté le 21/11/2023 16:06:51 et modifié le 24/11/2023
consulté 3105 fois
Niveau initié

Version(s) Foxpro :
VFP 9.0

Description
J'ai trouvé ce code pour créer un éditeur de texte HTML ici :
M.Yousfi Yousfi Benameur nous propose d'autres codes bien utiles...
Celui-ci fonctionne, je l'ai testé et transformé pour mes besoins personnels en class.
Ci-dessous le code original
Code source :
*Begin code

If !_vfp.StartMode=0
    On Shutdown Quit
Endi


Set Safe Off
*create ypreview.ico in temp folder
local myvar
text to m.myvar noshow
0000010002002020100000000000E8020000260000001010100000000000280100000E0300002800000020000000400000000100040000000000000200000000000000000000100000001000000000000000000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000877777777777777777777000000000008FFEEEEEEEEEEEEEEEEE7000000000008FFEE0000000000000EE7000000000008FFEEEEEEEEEEEEEEEEE7000000000008FFEE9999999999998000080000000008FFEEEEEEEEEEEEE00777700000000008FFEE0000000000087777788000000008FFEEEEEEEEEEE8077777787080000008FFFFFFFFFFFFF077777778E700000008FFFFFFFFFFFFF0777777787700000008FFFFFFFFFFFFF07E7777787700000008FFFFFFFFFFFFF0797777787700000008FFEE9999999998099777787080000008FFEEEEEEEEEEEE089997788000000008FFEE9999999999990777700800000008FFEEEEEEEEEEEEEEE000080000000008FFEE999999999999EEE7000000000008FFEEEEEEEEEEEEEEEEE7000000000008FFEE9999999999999EE7000000000008FFEEEEEEEEEEEEEEEEE7000000000008FF0000000000EE800000000000000008FFEEEEEEEEEEFF8FF780000000000008FFFFFFFFFFFFFF8F7800000000000008FFFFFFFFFFFFFF878000000000000008FFFFFFFFFFFFFF880000000000000008FFFFFFFFFFFFFF8000000000000000088888888888888880000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF800001FF800001F9800001F1800001E3800001C78000008F8000001F8000003F8000001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F800000FF800001FF800001FF800001FF800001FF800001FF800003FF800007FF80000FFF80001FFF80003FFF80007FFFFFFFFFFFFFFFFFFF2800000010000000200000000100040000000000800000000000000000000000100000001000000000000000000080000080000000808000800000008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00000000000000000000000000000000000FEEEEEEEEE000000FEE9999000000000FEEEEE0877800000FFFFF0877E880000FFFFF07777870000FFFFF07977870000FEE9908997880000FEEEEE0877800000FEE9998000000000FEEEEEEEEE000000F99999F000000000FEEEEEF070000000FFFFFFF000000000000000000000000FFFF0000000C00000008000000010000000300000003000000030000000300000003000000070000000F0000000F0000000F0000001F0000003F0000007F0000
endtext

Strtofile(Strconv(m.myvar,16),Addbs(Sys(2023))+"ypreview.ico")
Set Safe On

Publi yform
yform=Newobject("yedhtml_tb_class")
yform.Show
Read Events
Retu
*
Define Class yedhtml_tb_class As Form
    Height = 554
    Width = 1001
    ShowWindow = 2
    ShowTips = .T.
    AutoCenter = .T.
    Caption = "yHtml Editor"
    Icon = Home(1)+"Graphics\Icons\Misc\misc15.ico"
    BackColor = Rgb(86,167,205)
    yinner = ""
    yfilename = ""
    otoolbar = .F.
    Name = "Form1"

    Add Object obrowser As OleControl With ;
        oleclass="shell.explorer.2",;
        Top = 6, ;
        Left = 9, ;
        Height = 140, ;
        Width = 980, ;
        Anchor = 15, ;
        Name = "oBrowser"

    Procedure Destroy
        If ! (Thisform.yinner== Thisform.obrowser.Document.getElementbyId("oDiv").innerHTML)

            If Messagebox("the selection have changed. Do you want to save ?",4+64,"saving... ?")=6
                Thisform.otoolbar.command15.Click()
                DoEvent
            Endi
        Endi

        Declare Integer Sleep In Kernel32 Integer
        For i=1 To 20
            Thisform.Height=Thisform.Height-2*i

            If  Thisform.Height<=40
                Exit
            Endi
            Sleep(5)
        Endfor
        Clea Events
    Endproc

    Procedure Load
        Publi m.yrep
        m.yrep=Addbs(Sys(2023))   &&temp folder
        Set Safe Off
        Set Textmerge On To (m.yrep+"yhtml_editor.html"Noshow
        TEXT
        <HTML>
        <HEAD>
        <TITLE>HTML Editor</TITLE>

        <SCRIPT>
        window.onload=doInit
        function doInit(){
        // Ensure that all document elements except the content editable DIV are unselectable.
        for (i=0; i<document.all.length; i++)
         document.all(i).unselectable = "on";
        oDiv.unselectable = "off";
        // Clear any text in the Document window and set the focus.
        oDiv.innerHTML="";
        oDiv.focus();
        }
        </SCRIPT>
        </HEAD>
        <BODY STYLE="overflow:hidden; margin:0px"  oncontextmenu="return false;" scroll="yes">
        <DIV  ID="oContainer" STYLE="background-color:threedface; border:1px solid #cccccc position:relative; height:100%; top:0;">
        <DIV ID="oDiv" CONTENTEDITABLE STYLE="height:100%;background-color:white; overflow:auto; width:100%;"> </DIV>
        </DIV>
        </BODY>
        </HTML>
        ENDTEXT

        Set Textmerge To
        Set Safe On
    Endproc

    Procedure Activate
        If Type("thisform.oToolbar")="O" And     !Isnull(Thisform.otoolbar)
            Return
        Endif

        *Set Classlib To ytoolbar Additive
        Thisform.otoolbar=Create("ytoolbar",Thisform)
        With Thisform.otoolbar
            .Dock(0)
            .Show
        Endwith
        *Release Classlib ytoolbar
    Endproc

    Procedure obrowser.Init
        This.Navigate(yrep+"yhtml_editor.html")
    Endproc

Enddefine


*Class ytoolbar

DEFINE CLASS ytoolbar AS toolbar
    Caption = "Toolbar1"
    Height = 31
    Left = 41
    Movable = .F.
    Top = 2
    Width = 1105
    BackColor = RGB(179,209,242)
    ShowWindow = 1
    oformref = .F.
    Name = "ytoolbar"

    ADD OBJECT separator9 AS separator WITH ;
        Top = 3, ;
        Left = 5, ;
        Height = 0, ;
        Width = 0, ;
        Name = "Separator9"

    ADD OBJECT command25 AS commandbutton WITH ;
        Top = 3, ;
        Left = 5, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home()+"graphics\bitmaps\tlbr_w95\new.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "New", ;
        Name = "Command25"

    ADD OBJECT command11 AS commandbutton WITH ;
        Top = 3, ;
        Left = 26, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\offctlbr\small\color\open.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Open", ;
        Name = "Command11"

    ADD OBJECT command1 AS commandbutton WITH ;
        Top = 3, ;
        Left = 47, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\paste.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Paste", ;
        Name = "Command1"

    ADD OBJECT command2 AS commandbutton WITH ;
        Top = 3, ;
        Left = 68, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\cut.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Cut", ;
        Name = "Command2"

    ADD OBJECT command3 AS commandbutton WITH ;
        Top = 3, ;
        Left = 89, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\copy.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Copy", ;
        Name = "Command3"


    ADD OBJECT command4 AS commandbutton WITH ;
        Top = 3, ;
        Left = 110, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\lft.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Left align", ;
        Name = "Command4"

    ADD OBJECT command5 AS commandbutton WITH ;
        Top = 3, ;
        Left = 131, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\cnt.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Align center", ;
        Name = "Command5"

    ADD OBJECT command8 AS commandbutton WITH ;
        Top = 3, ;
        Left = 152, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\rt.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Right Align", ;
        Name = "Command8"


    ADD OBJECT command6 AS commandbutton WITH ;
        Top = 3, ;
        Left = 173, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\bld.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Bold", ;
        Name = "Command6"

    ADD OBJECT command7 AS commandbutton WITH ;
        Top = 3, ;
        Left = 194, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\itl.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Italic", ;
        Name = "Command7"

    ADD OBJECT command9 AS commandbutton WITH ;
        Top = 3, ;
        Left = 215, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\undrln.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Underline", ;
        Name = "Command9"

    ADD OBJECT command16 AS commandbutton WITH ;
        Top = 3, ;
        Left = 236, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\undo.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Undo", ;
        Name = "Command16"

    ADD OBJECT command35 AS commandbutton WITH ;
        Top = 3, ;
        Left = 257, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\redo.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Redo", ;
        Name = "Command35"

    ADD OBJECT command21 AS commandbutton WITH ;
        Top = 3, ;
        Left = 278, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\delete.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Delete selection", ;
        Name = "Command21"

    ADD OBJECT command27 AS commandbutton WITH ;
        Top = 3, ;
        Left = 299, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\wordundr.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Fonts", ;
        Name = "Command27"

    ADD OBJECT command10 AS commandbutton WITH ;
        Top = 3, ;
        Left = 320, ;
        Height = 24, ;
        Width = 22, ;
        Picture = "forecolor.gif", ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Forecolor", ;
        Name = "Command10"

    ADD OBJECT command30 AS commandbutton WITH ;
        Top = 3, ;
        Left = 341, ;
        Height = 24, ;
        Width = 22, ;
        Picture = "backcolor.gif", ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "BackColor", ;
        PicturePosition = 14, ;
        Name = "Command30"

    ADD OBJECT command37 AS commandbutton WITH ;
        Top = 3, ;
        Left = 362, ;
        Height = 22, ;
        Width = 23, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\find.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Search", ;
        Name = "Command37"

    ADD OBJECT command28 AS commandbutton WITH ;
        Top = 3, ;
        Left = 384, ;
        Height = 22, ;
        Width = 23, ;
        FontSize = 8, ;
        Picture = "", ;
        Caption = "Ind", ;
        MousePointer = 15, ;
        BackColor = RGB(255,255,0), ;
        Name = "Command28"

    ADD OBJECT command34 AS commandbutton WITH ;
        Top = 3, ;
        Left = 406, ;
        Height = 22, ;
        Width = 23, ;
        FontSize = 8, ;
        Picture = "images\unindent.bmp", ;
        Caption = "Uid", ;
        MousePointer = 15, ;
        BackColor = RGB(255,255,0), ;
        Name = "Command34"

    ADD OBJECT separator8 AS separator WITH ;
        Top = 3, ;
        Left = 436, ;
        Height = 0, ;
        Width = 0, ;
        Name = "Separator8"

    ADD OBJECT command12 AS commandbutton WITH ;
        Top = 3, ;
        Left = 436, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Outline\Nomask\bmp.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Insert img", ;
        Name = "Command12"

    ADD OBJECT command33 AS commandbutton WITH ;
        Top = 3, ;
        Left = 456, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\VW-DTLS.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Insert table", ;
        Name = "Command33"

    ADD OBJECT command38 AS commandbutton WITH ;
        Top = 3, ;
        Left = 477, ;
        Height = 22, ;
        Width = 23, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\mapnet.bmp"), ;
        Caption = "", ;
        ToolTipText = "Insert flash object", ;
        Name = "Command38"

    ADD OBJECT command39 AS commandbutton WITH ;
        Top = 3, ;
        Left = 499, ;
        Height = 22, ;
        Width = 23, ;
        Picture = (home(1)+"Gallery\Graphics\video.ico"), ;
        Caption = "", ;
        ToolTipText = "Insert video", ;
        Name = "Command39"

    ADD OBJECT command13 AS commandbutton WITH ;
        Top = 3, ;
        Left = 521, ;
        Height = 24, ;
        Width = 23, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\print.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Print", ;
        Name = "Command13"

    ADD OBJECT command14 AS commandbutton WITH ;
        Top = 3, ;
        Left = 543, ;
        Height = 24, ;
        Width = 28, ;
        Picture = "d:\microsoft visual foxpro 9\graphics\bitmaps\tlbr_w95\rt.bmp", ;
        Caption = "H-Z", ;
        MousePointer = 15, ;
        ToolTipText = "Flip doc", ;
        Name = "Command14"

    ADD OBJECT command17 AS commandbutton WITH ;
        Top = 3, ;
        Left = 570, ;
        Height = 24, ;
        Width = 34, ;
        Picture = "d:\microsoft visual foxpro 9\graphics\bitmaps\tlbr_w95\copy.bmp", ;
        Caption = "Slct", ;
        MousePointer = 15, ;
        ToolTipText = "Select all", ;
        Name = "Command17"

    ADD OBJECT command22 AS commandbutton WITH ;
        Top = 3, ;
        Left = 603, ;
        Height = 24, ;
        Width = 34, ;
        Picture = "d:\microsoft visual foxpro 9\graphics\bitmaps\tlbr_w95\copy.bmp", ;
        Caption = "uSlct", ;
        MousePointer = 15, ;
        ToolTipText = "unSelect", ;
        Name = "Command22"

    ADD OBJECT command19 AS commandbutton WITH ;
        Top = 3, ;
        Left = 636, ;
        Height = 24, ;
        Width = 25, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\group.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Orederl List", ;
        Name = "Command19"

    ADD OBJECT command20 AS commandbutton WITH ;
        Top = 3, ;
        Left = 660, ;
        Height = 24, ;
        Width = 25, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\ungroup.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "UnOrdered List", ;
        Name = "Command20"

    ADD OBJECT command23 AS commandbutton WITH ;
        Top = 3, ;
        Left = 684, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\mcr.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Insert link", ;
        Name = "Command23"

    ADD OBJECT command24 AS commandbutton WITH ;
        Top = 3, ;
        Left = 704, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\front.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Un Insert link", ;
        Name = "Command24"

    ADD OBJECT command26 AS commandbutton WITH ;
        Top = 3, ;
        Left = 724, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\line.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Insert Line", ;
        Name = "Command26"

    ADD OBJECT combo1 AS combobox WITH ;
        Height = 25, ;
        Left = 745, ;
        MousePointer = 15, ;
        ToolTipText = "Fontsize (pts)", ;
        Top = 3, ;
        Width = 36, ;
        Name = "Combo1"


    ADD OBJECT command31 AS commandbutton WITH ;
        Top = 3, ;
        Left = 780, ;
        Height = 24, ;
        Width = 22, ;
        Picture = "images\ui_superscript.gif", ;
        Caption = "Sps", ;
        MousePointer = 15, ;
        ToolTipText = "Superscript", ;
        BackColor = RGB(255,128,0), ;
        Name = "Command31"

    ADD OBJECT command32 AS commandbutton WITH ;
        Top = 3, ;
        Left = 801, ;
        Height = 24, ;
        Width = 22, ;
        Picture = "images\ui_subscript.gif", ;
        Caption = "Sbs", ;
        MousePointer = 15, ;
        ToolTipText = "Subscript", ;
        BackColor = RGB(255,128,0), ;
        Name = "Command32"

    ADD OBJECT command41 AS commandbutton WITH ;
        Top = 3, ;
        Left = 822, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\WORDUNDR.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Insert a text as marquee", ;
        PicturePosition = 13, ;
        Name = "Command41"

    ADD OBJECT command42 AS commandbutton WITH ;
        Top = 3, ;
        Left = 842, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Offctlbr\Small\Color\preview.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Preview in navigator", ;
        Name = "Command42"

    ADD OBJECT command40 AS commandbutton WITH ;
        Top = 3, ;
        Left = 862, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Offctlbr\Small\Color\paint.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Clear all objects", ;
        Name = "Command40"

    ADD OBJECT command18 AS commandbutton WITH ;
        Top = 3, ;
        Left = 882, ;
        Height = 22, ;
        Width = 23, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\camera.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Copy code to clipboard", ;
        Name = "Command18"

    ADD OBJECT command15 AS commandbutton WITH ;
        Top = 3, ;
        Left = 904, ;
        Height = 24, ;
        Width = 22, ;
        Picture = (home(1)+"graphics\bitmaps\tlbr_w95\save.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "Save", ;
        Name = "Command15"

    ADD OBJECT command36 AS commandbutton WITH ;
        Top = 3, ;
        Left = 925, ;
        Height = 24, ;
        Width = 21, ;
        Caption = "Sk", ;
        MousePointer = 15, ;
        ToolTipText = "Form Skin", ;
        BackColor = RGB(0,255,0), ;
        Name = "Command36"

    ADD OBJECT command43 AS commandbutton WITH ;
        Top = 3, ;
        Left = 945, ;
        Height = 24, ;
        Width = 21, ;
        Picture = (home(1)+"Graphics\Bitmaps\Tlbr_w95\Prop.bmp"), ;
        Caption = "", ;
        MousePointer = 15, ;
        ToolTipText = "preview any codes prg,txt,mpr,..", ;
        Name = "Command43"

    ADD OBJECT command29 AS commandbutton WITH ;
        Top = 3, ;
        Left = 965, ;
        Height = 24, ;
        Width = 22, ;
        FontBold = .T., ;
        FontSize = 12, ;
        Caption = "?", ;
        MousePointer = 15, ;
        ToolTipText = "About", ;
        ForeColor = RGB(255,0,0), ;
        BackColor = RGB(131,235,165), ;
        Name = "Command29"

    ADD OBJECT separator10 AS separator WITH ;
        Top = 3, ;
        Left = 994, ;
        Height = 0, ;
        Width = 0, ;
        Name = "Separator10"

    ADD OBJECT shape1 AS shape WITH ;
        Top = 3, ;
        Left = 994, ;
        Height = 24, ;
        Width = 106, ;
        BackStyle = 0, ;
        BorderStyle = 0, ;
        Name = "Shape1"

    PROCEDURE BeforeDock
        LPARAMETERS nLocation
        if nLocation=0
        dodefault()
        else
        nodefault
        endi
    ENDPROC

    PROCEDURE Init
        #DEFINE ERR_NOFORMPARM_LOC    "You must pass a form reference to create this toolbar."
        PARAMETER oForm

        IF TYPE("m.oForm")#"O" OR ISNULL(m.oForm) OR UPPER(oForm.BaseClass) # "FORM"
            MESSAGEBOX(ERR_NOFORMPARM_LOC)
            RETURN .F.
        ENDIF

        THIS.oFormRef = oForm
        *this.setall("backcolor",rgb(0,255,0),"commandbutton")
        this.setall("mousepointer",15,"commandbutton")

        _screen.activeform.backcolor=rgb(160,167,252)
        this.backcolor=_screen.activeform.backcolor

        publi loComDialog
        loComDialog = createobject("mscomdlg.commondialog")
        loComDialog.Filter = "All Files (*.*)|*.*|Html Files(*.html)|*.html|Htm Files (*.htm)|*.htm"
        loComDialog.MaxFileSize=140
        set safe off
    ENDPROC

    PROCEDURE command25.Click
        if !_screen.activeform.obrowser.document.getElementbyID("oDiv").innerhtml==""
        =_screen.activeform.obrowser.document.execCommand('SaveAs',.t.)    &&,getfile('htm|html')) &&save in option or cancel
        endi

        _screen.activeform.obrowser.document.getElementbyID("oDiv").innerhtml=""
        _screen.activeform.obrowser.document.getElementbyID("oDiv").focus()
         _screen.activeform.yinner= _screen.activeform.obrowser.document.getElementbyId("oDiv").innerHTML
         _screen.activeform.yfilename=""
        return
    ENDPROC

    PROCEDURE command25.Init
        with this
        .picture=home()+"graphics\bitmaps\tlbr_w95\new.bmp"
        endwith
    ENDPROC

    PROCEDURE command11.Click
        loComDialog.ShowOpen()
        *MESSAGEBOX(loComDialog.FileName)  &&
        if empty(loComDialog.FileName)
        return .f.
        endi
        set safe off
        with  _screen.activeform
        .obrowser.document.getElementbyId("oDiv").innerHTML=filetostr(loComDialog.filename)
        .obrowser.document.getElementbyId("oDiv").focus()
        .yinner= _screen.activeform.obrowser.document.getElementbyId("oDiv").innerHTML
        .yfilename=loComDialog.filename
        endwith
        retu

    ENDPROC

    PROCEDURE command11.Init
        with this
        .picture=home(1)+"graphics\bitmaps\offctlbr\small\color\open.bmp"
        endwith
    ENDPROC

    PROCEDURE command1.Click
        _screen.activeform.obrowser.document.execCommand("paste")
    ENDPROC

    PROCEDURE command1.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\paste.bmp"
        endwith
    ENDPROC

    PROCEDURE command2.Click
        _screen.activeform.obrowser.document.execCommand("cut")
    ENDPROC


    PROCEDURE command2.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\cut.bmp"
        endwith
    ENDPROC


    PROCEDURE command3.Click
        _screen.activeform.obrowser.document.execCommand("copy")
    ENDPROC

    PROCEDURE command3.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\copy.bmp"

        endwith
    ENDPROC


    PROCEDURE command4.Click
        _screen.activeform.obrowser.document.execCommand("justifyleft")
    ENDPROC


    PROCEDURE command4.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\lft.bmp"

        endwith
    ENDPROC

    PROCEDURE command5.Click

        _screen.activeform.obrowser.document.execCommand("JustifyCenter")
    ENDPROC

    PROCEDURE command5.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\cnt.bmp"
        endwith
    ENDPROC

    PROCEDURE command8.Click
        _screen.activeform.obrowser.document.execCommand("justifyRight")
    ENDPROC

    PROCEDURE command8.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\rt.bmp"
        endwith
    ENDPROC


    PROCEDURE command6.Click

        _screen.activeform.obrowser.document.execCommand("bold")
    ENDPROC


    PROCEDURE command6.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\bld.bmp"
        endwith
    ENDPROC

    PROCEDURE command7.Click
        _screen.activeform.obrowser.document.execCommand("italic")
    ENDPROC

    PROCEDURE command7.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\itl.bmp"
        endwith
    ENDPROC

    PROCEDURE command9.Click
        _screen.activeform.obrowser.document.execCommand("underline")
    ENDPROC

    PROCEDURE command9.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\undrln.bmp"
        endwith
    ENDPROC


    PROCEDURE command16.Click
        _screen.activeform.obrowser.document.execCommand("undo")
    ENDPROC

    PROCEDURE command16.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\undo.bmp"
        endwith
    ENDPROC

    PROCEDURE command35.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\redo.bmp"
        endwith
    ENDPROC

    PROCEDURE command35.Click
        _screen.activeform.obrowser.document.execCommand("redo")
    ENDPROC

    PROCEDURE command21.Click
        _screen.activeform.obrowser.document.execCommand("delete")
    ENDPROC

    PROCEDURE command21.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\delete.bmp"
        endwith
    ENDPROC

    PROCEDURE command27.Click
        local xfont,xfontname,xfontsize,xfontstyle
        xfont=getfont("Arial",12)
        if not empty(xfont)
        xfontname=getwordnum(xfont,1,",")
        xfontsize=getwordnum(xfont,2,",")
        xfontsize=int(val(getwordnum(xfont,2,",")))   && Required. Integer or String that specifies the font size. This must be a value between 1 and 7, inclusive.
        xfontStyle=getwordnum(xfont,3,",")
        _screen.activeform.obrowser.document.execCommand("FontName",.f., xfontname)

        local xpoint as integer
        do case
        case xfontsize<=9
        xpoint=1
        case between(xfontsize,10,11)
        xpoint=2
        case between(xfontsize,12,18)
        xpoint=3
        case between(xfontsize,19,23)
        xpoint=4
        case between(xfontsize,24,31)  &&29
        xpoint=5
        case between(xfontsize,32,45)
        xpoint=6
        case xfontsize>=46
        xpoint=7
        endcase
        _screen.activeform.obrowser.document.execCommand("FontSize",.f., m.xPOINT)     &&attention fontsize converted ~ to points ( 1 to 7)
        if "B" $ xfontstyle
        _screen.activeform.obrowser.document.execCommand("Bold",.t.)
        endi
        if "I" $ xfontstyle
        _screen.activeform.obrowser.document.execCommand("Italic",.t.)
        endi
        _screen.activeform.obrowser.document.getElementbyID("oDiv").focus()
        endi
    ENDPROC

    PROCEDURE command27.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\wordundr.bmp"
        endwith
    ENDPROC

    PROCEDURE command10.Click
        * Changeforecolor of the selected text
        local xforecolor
        xforecolor=getcolor()
        if xforecolor#-1
        _screen.activeform.obrowser.document.execCommand("Forecolor",.f.,m.xforecolor)
        endi
        _screen.activeform.obrowser.document.getElementbyId("oDiv").focus()
    ENDPROC

    PROCEDURE command10.Init
   *This is an ex. how to create image gif with encoded text
        text to m.myvar noshow
        R0lGODlhFQAUAPcAAMDAwP//AAAAgICAgAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAFQAUAAAIeAALCBxIsKDBgwgTKlxYcIAAAQMYFhQAAABEiQMpEhBAICJGjhYHdMRIAEABiA4fLixZYGPJhyoRsiwAoCSAlAJkmhQ4oOIAhxsTEqDZ86bIkzmFVjQ69KRHoT+P8pTYsanCAFizat0aoCDXr1m9gv0qduxWjAkDAgA7
        endtext
        set safe off
        =strtofile(strconv(m.myvar,14),"Forecolor.gif")
        with this
        .picture="Forecolor.gif"
        endwith
    ENDPROC

    PROCEDURE command30.Click
        * Change Background of the selected text
        local xbackcolor
        xbackcolor=getcolor()
        if xbackcolor#-1
        _screen.activeform.obrowser.document.execCommand("Backcolor",.f.,m.xbackcolor)
        endi
        _screen.activeform.obrowser.document.getElementbyId("oDiv").focus()
    ENDPROC

    PROCEDURE command30.Init
        text to m.myvar noshow
        R0lGODlhFwAVAPcAAAAAAP////r6+u7u3e337Onp6fTU2OLK34YEhvz0/CQjJPDY8cK8xPTk/DQzNcy76uzk/M/I+7q0++Hf/AQE/AQEFDw9iXp76Jub9+zs/NTU3PT0/Ozs9OTk7K6usQ4PNWNm0srL5ElOudfZ+MjJ136FyAsahlhZYNvc5MzU/LW+5WFuod/k9HiEpj9BRxlZ9B1FpTJq9sTU/JSfupyeowRM9ARJ5ARDyxE6liRd2E9hiJmv4bi+zAxU7Bhc5x1UviVj5DRw6LfM+J+vznZ4fARa9gRU7ARU5CJq8zNt2Dx89HKg98PU9Mzd/ARk/ARc7Axc5BBp9Rhk5hMtVz2E9G2Y4Yak16fG+ARk9ARc5DOD+zdsvleDwrvV/ARs/ARs9ARm7A10/AtdzB56+E6S7jVKZuDs/AR0/DyU/DyM7MTT5WBkaQg7dBh86SyM/CRRhaS+3Ah77JXD8nycvMzU3MfIySyW+zCF0+Ps9FGWz8Pi/BOG4RhjnhCU7CmX4TSc5KjY+hF7wT6q63jB8a7R58/j8Fy26bfa7cLg79Lu/BWv8+n1+bvu/ILh+hvN9tTc3PT8/OTs7ODk5HqzpFKafpnNucvUzCBqKHe2esDywrTatp3Yn4u+jNDv0QiMBwQMBAwUDJbDltzl3NTd1PT89Oz07OTs5Ab8BEmmSDTULDuWODd9MySvE3Gkaoe2gJTEhH7UVJ7aguT03LHfmNLdzHHGKMvls+Ts3PT87Oz05B8qEvT85Ly9s/v4BwwMBPz83tzcxOzs1NPTw9zczOzs3OTk1Pz87PT05I+Ph9zc1NTUzPz89PT07Ozs5OTk3Pv3n+XkzK2sm/v3vPz5z/nqftKvDXNbEvbfmPfQXdzUvNzUxOzk1PTs3LSBI0A3Jq+QXtHCq+izbeTc0kQqDOiZRIhkOiwcDBwUDO7AkHRsZNzUzPz07PTs5PTMuORGIaMWCRQEBAwEBBoUFPzs7Pz09PTs7Ozk5Pz8/PT09Ozs7Nzc3NTU1E9PTwwMDAQEBP///ywAAAAAFwAVAAAIrQADCBxIsKDBgwgTKlzIUCChEg0PEiux4lDEgoS2rNgS7OLAEnO2WIBDzOOtFUxWvNHhMcAQLrfgvIEBxyMXFcQG6Hiz4qIQHSt0bNnJRk3Jhdy4cIHDFI4FNj0Z3tIRjJjVAS3YlDmqUKWOnAPmTCmjlSvCHTuGDFg7AO2QHQgNuJtLt65ddwbl3t07d5tBvnwNcCO4DfBeAwUNKF7MuLHig8G4RZ4sufJkggEBADs=
        endtext
        set safe off
        =strtofile(strconv(m.myvar,14),"Backcolor.gif")
        with this
        .picture="backcolor.gif"
        endwith
    ENDPROC

    PROCEDURE command37.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\find.bmp"
        endwith
    ENDPROC

    PROCEDURE command37.Click

        #define OLECMDID_FIND  32
        #define OLECMDEXECOPT_PROMPTUSER  1
        _screen.activeform.obrowser.execwb(OLECMDID_FIND,OLECMDID_FIND)
    ENDPROC

    PROCEDURE command28.Click
        _screen.activeform.obrowser.document.execCommand("indent")
    ENDPROC

    PROCEDURE command28.Init
        with this
        .picture="images\indent.bmp"   &&(to replace not created)
        endwith
    ENDPROC

    PROCEDURE command34.Click
        _screen.activeform.obrowser.document.execCommand("outdent")
    ENDPROC

    PROCEDURE command34.Init
        with this
        .picture="images\Unindent.bmp"  &&to replace (not created)
        endwith
    ENDPROC

    PROCEDURE command12.Click
        _screen.activeform.obrowser.document.execCommand("InsertImage",.t.)
    ENDPROC

    PROCEDURE command12.Init
        with this
        .picture=home(1)+"Graphics\Bitmaps\Outline\Nomask\bmp.bmp"
        endwith
    ENDPROC

    PROCEDURE command33.Click
        Local ze,ee
        Local Rows,cols,Table,tr,td,tbody
        rowstext = Inputbox("enter rows()","","2")
        colstext = Inputbox("enter cols()","","2")
        Rows = Val(rowstext)
        cols = Val(colstext)

        If Rows<=0 Or cols<=0
            Return .F.
        Endi


        ze=_Screen.ActiveForm.obrowser.Document
        Table = ze.createElement("table")
        Table.setAttribute("border""1")
        Table.setAttribute("cellpadding""2")
        Table.setAttribute("cellspacing""2")

        tbody = ze.createElement("tbody")
        For i=1 To Rows
            tr =ze.createElement("tr")
            For j=1 To cols
                td =ze.createElement("td")
        *        br =ze .createElement("br")
        *        td.appendChild(br)
                tr.appendChild(td)
            Endfor
            tbody.appendChild(tr)
        Endfor
        tbody.appendChild(tr)
        Table.appendChild(tbody)

        ee=_Screen.ActiveForm.obrowser.Document.getElementbyId("oDiv")
        ee.appendChild(Table)
        retu
    ENDPROC

    PROCEDURE command33.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\VW-DTLS.bmp"
        endwith
    ENDPROC

    PROCEDURE command38.Init
        with this
        .picture=home(1)+"graphics\bitmaps\tlbr_w95\mapnet.bmp"
        endwith
    ENDPROC


    PROCEDURE command38.Click
        local yswf
        yswf=getfile('swf')
        if empty(m.yswf)
        return .f.
        endi
        yswf="file:///"+m.yswf


        text  to myvar textmerge noshow
        <object width='240' height='200'  >
        <param name='movie' value='<<yswf>> </param>
<param name='
allowFullScreen' Value='true'></param>
<param name='
allowscriptaccess' value='always'></param>
<embed src='
<<yswf>>' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='240' height='200'></embed>
</object>
endtext


local ze,ole
ze=_Screen.ActiveForm.obrowser.Document
ole = ze.createElement("olecontrol")
ole.innerhtml=m.myvar
ee=ze.getElementbyId("oDiv")
ee.appendChild(ole)
ENDPROC

PROCEDURE command39.Click
local yvideo
yvideo=getfile('
avi;mpg;wmv;mp4')
if empty(m.yvideo)
return .f.
endi
yvideo="file:///"+m.yvideo

text to m.myvar textmerge noshow
<p>
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="WindowsMediaPlayer1" width="245" height="240">
<param name="URL" value=" <<yvideo>> ">
<param name="rate" value="1">
<param name="balance" value="0">
<param name="currentPosition" value="0">
<param name="defaultFrame" value>
<param name="playCount" value="1">
<param name="autoStart" value="false">
<param name="currentMarker" value="0">
<param name="invokeURLs" value="-1">
<param name="baseURL" value>
<param name="volume" value="50">
<param name="mute" value="0">
<param name="uiMode" value="full">
<param name="stretchToFit" value="0">
<param name="windowlessVideo" value="0">
<param name="enabled" value="-1">
<param name="enableContextMenu" value="-1">
<param name="fullScreen" value="0">
<param name="SAMIStyle" value>
<param name="SAMILang" value>
<param name="SAMIFilename" value>
<param name="captioningID" value>
<param name="enableErrorDialogs" value="0">
<param name="_cx" value="6482">
<param name="_cy" value="6350">
</object>
</p>
endtext


local ze,ole
ze=_Screen.ActiveForm.obrowser.Document
ole = ze.createElement("olecontrol")
ole.innerhtml=m.myvar

ee=ze.getElementbyId("oDiv")
ee.appendChild(ole)
retu
ENDPROC

PROCEDURE command39.Init
with this
.picture=home(1)+"Graphics\Icons\Misc\camera.ico"
endwith
ENDPROC

PROCEDURE command13.Click
_screen.activeform.oBrowser.document.execCommand("Print",.t.)
ENDPROC

PROCEDURE command13.Init
with this
.picture=home(1)+"graphics\bitmaps\tlbr_w95\print.bmp"
endwith
ENDPROC

PROCEDURE command14.Click
        *toggle vertical  -  horzontal mode
        *the writingMode property to toggle the alignment of the editable region
        *from vertical alignment to horizontal alignment.

        *messagebox(_screen.activeform.obrowser.document.getElementbyId("oDiv").style.writingmode)
try
if _screen.activeform.obrowser.document.getElementbyId("oDiv").style.writingmode=='
tb-rl'
_screen.activeform.obrowser.document.getElementbyId("oDiv").style.writingMode = '
lr-tb'
else
_screen.activeform.obrowser.document.getElementbyId("oDiv").style.writingMode = '
tb-rl'
endi
catch
endtry
retu
ENDPROC

PROCEDURE command17.Click
_screen.activeform.obrowser.document.execCommand("SelectAll")
ENDPROC

PROCEDURE command22.Click
_screen.activeform.obrowser.document.execCommand("UnSelect")
ENDPROC

PROCEDURE command19.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\group.bmp"
endwith
ENDPROC

PROCEDURE command19.Click
_screen.activeform.obrowser.document.execCommand("InsertOrderedList")
_screen.activeform.obrowser.document.GETElementbyID("oDiv").focus()
ENDPROC


PROCEDURE command20.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\ungroup.bmp"
endwith
ENDPROC


PROCEDURE command20.Click
_screen.activeform.obrowser.document.execCommand("InsertUnOrderedList")
_screen.activeform.obrowser.document.GETElementbyID("oDiv").focus()
ENDPROC

PROCEDURE command23.Click
_screen.activeform.obrowser.document.execCommand("createlink")
ENDPROC

PROCEDURE command23.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\mcr.bmp"
endwith
ENDPROC

PROCEDURE command24.Click
_screen.activeform.obrowser.document.execCommand("Unlink")
ENDPROC

PROCEDURE command24.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\front.bmp"
endwith
ENDPROC

PROCEDURE command26.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\line.bmp"
endwith
ENDPROC

PROCEDURE command26.Click
_screen.activeform.obrowser.document.execCommand("InsertHorizontalRule")
ENDPROC

PROCEDURE combo1.Init
WITH THIS
for i=1 to 7
.ADDITEM(trans(i))
endfor
.listindex=2
.value=2
.style=2
endwith
ENDPROC

PROCEDURE combo1.Click
_screen.activeform.obrowser.document.execCommand("FontSize",.f., this.value)
_screen.activeform.obrowser.document.getElementbyID("oDiv").focus()
ENDPROC

PROCEDURE command31.Click
_screen.activeform.obrowser.document.execCommand("SuperScript")
ENDPROC

PROCEDURE command31.Init
with this
.picture="images\ui_superscript.gif"
endwith
ENDPROC

PROCEDURE command32.Click
_screen.activeform.obrowser.document.execCommand("SubScript")
ENDPROC

PROCEDURE command32.Init
with this
.picture="images\ui_subscript.gif"
endwith
ENDPROC

PROCEDURE command41.Click
_screen.activeform.obrowser.document.execCommand("InsertMarquee")
ENDPROC


PROCEDURE command41.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\WORDUNDR.bmp"
endwith
ENDPROC

PROCEDURE command42.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Offctlbr\Small\Color\preview.bmp"
endwith
ENDPROC

PROCEDURE command42.Click
Local lcfilename
lcfilename=Addbs(Sys(2023))+"tmp.hta"
Set Safe Off
TEXT to m.myvar noshow
<html>
<head>
<title>This is a preview of yhtml_editor</title>
<HTA:APPLICATION
ID="yPreview"
APPLICATIONNAME="This is a preview of yHtml_editor"
SCROLL="auto"
icon="ypreview.ico"
SINGLEINSTANCE="yes"
BORDER="thin"
BORDERSTYLE="normal"
CONTEXTMENU="no"
CAPTION="yes"
SHOWINTASKBAR="no"
SYSMENU="yes"
WINDOWSTATE="normal"
align="center"
>

</head>
<body >
<<_screen.activeform.obrowser.document.getElementbyId("oDiv").innerHTML>>
</body>
</html>
ENDTEXT

Strtofile(m.myvar,m.lcfilename)
_Screen.ActiveForm.obrowser.Document.getElementbyId("oDiv").focus()
Set Safe On


        *local o
        *o=newObject("hyperlink")
        *o.navigateto(m.lcfilename)

Declare Integer ShellExecute In SHELL32.Dll Integer nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow

ShellExecute(0, "open", m.lcfilename,"","",1)
ENDPROC


PROCEDURE command40.Click
if messagebox("This action clear all object from the canvas. confirm to do ?",4+64,"Clear canvas")=6
_screen.activeform.obrowser.document.execCommand("Refresh")
endi
ENDPROC

PROCEDURE command40.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Offctlbr\Small\Color\paint.bmp"
endwith
ENDPROC

PROCEDURE command18.Click
_cliptext=_screen.activeform.obrowser.document.getElementbyId("oDiv").innerhtml
messagebox("Html code is copied to the clipboard!",0+32+4096,"Copy code")
ENDPROC

PROCEDURE command18.Init
with this
.picture=home(1)+"graphics\bitmaps\tlbr_w95\camera.bmp"
endwith
ENDPROC

PROCEDURE command15.Click &&sauve
loComDialog.ShowSave()
if empty(loComDialog.FileName)
return .f.
endi
if empty(justext(loComDialog.FileName))
loComDialog.FileName=allt(loComDialog.FileName)+".html"
endi
set safe off
strtofile(_screen.activeform.obrowser.document.getElementbyId("oDiv").innerHTML,loComDialog.FileName)
_cliptext = _screen.activeform.obrowser.document.getElementbyId("oDiv").innerHTML
_screen.activeform.obrowser.document.getElementbyId("oDiv").focus()
set safe on
retu

ENDPROC

PROCEDURE command15.Init
with this
.picture=home(1)+"graphics\bitmaps\tlbr_w95\save.bmp"
endwith
ENDPROC

PROCEDURE command36.Init
with this
.picture="images\vista-116.ico"
endwith
ENDPROC

PROCEDURE command36.Click
local xcolor
xcolor=getcolor()
try
_screen.activeform.backcolor=m.xcolor
this.parent.backcolor=xcolor
catch
endtry
ENDPROC

PROCEDURE command43.Click
set memowidth to 8192
local lcfilename
lcfilename=getfile("prg|txt|mpr")
if empty(m.lcfilename)
return .f.
endi
local ystr,x,cr
cr=chr(13)+chr(10)
ystr=filetostr(m.lcfilename)
x=""
for i=1 to memlines(ystr)
x=x+[<tr><td bgcolor="#C0C0C0"><font color="#800080"><span style="background-color:#C0C0C0">]+trans(i,"999999")+[</span></font></td><td> <font color="#0000FF">]+mline(ystr,i)+[</font></td></tr>]+cr
endfor

local myvar
text to m.myvar textmerge noshow
<html>
<head>
<title>preview code of : <<m.lcfilename>> --(<<memlines(m.ystr)>> lines). </title>
<HTA:APPLICATION
ID="ycodes"
APPLICATIONNAME="ycode_preview"
SCROLL="auto"
icon="images/zoom.png"
SINGLEINSTANCE="yes"
BORDER="thin"
BORDERSTYLE="normal"
CONTEXTMENU="no"
CAPTION="yes"
SHOWINTASKBAR="no"
SYSMENU="yes"
WINDOWSTATE="normal"
>
</head>
<body>
<div align="left">
<table border="0">
<<x>>
</table>
</div>
</body>
</html>
endtext

set safe off &&(scope) put this once in config.fpw and cut all in code
local lcdest
lcdest=addbs(sys(2023))+"hilight.hta"
strtofile(m.myvar,m.lcdest)
set safe on


Declare Integer ShellExecute In SHELL32.Dll Integer nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow

ShellExecute(0, "open", m.lcDest,"","",1)
ENDPROC

PROCEDURE command43.Init
with this
.picture=home(1)+"Graphics\Bitmaps\Tlbr_w95\Prop.bmp" &&"images/zoom.png"
endwith
ENDPROC

PROCEDURE command29.Click
local myvar
text to myvar noshow
this is a Wysiwyg html editor drived by automation from visual foxpro.
(what you see is what you get).
It use the vfp browser (Internet Explorer).(remember to Apply IE11 emulation for
another uses).
it encapsulates all rich text modalities and can open,modify and save a document
as a web page.
All functionalities are in the toolbar.(Can be extended to other functions).
I made images from whose shipped with vfp.Originally i have better ones.
I suggest you do the same thing.

Apply any toolbar action to the document selection.

To clean all the page issue F5 (warning : clear all objects on the page)
-make a proj, add config.fpw and raise an exe as application.

*!*--Author Yousfi Benameur El Bayadh Algeria
*!*--Time stamp vendredi 23 septembre 2011; 14:06:23
*!*--Subject :Visual foxpro Html editor
*!*--Version Vfp9Sp2    texted on  windows xp sp3 - win8.1
endtext
messagebox(m.myvar,0+32+4096,"About")
ENDPROC

PROCEDURE shape1.Click
with this
.width=sysmetric(1)/2
.backcolor=this.parent.backcolor
endwith
ENDPROC


ENDDEFINE

*End code

Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3