Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TDHTMLSafe


Автор: Anton K. 22.5.2004, 13:31
1. Как организовать операции UNDO/REDO в DHTMLSafe?
2. Как сделать жирным выделенный текст, начать список и т.д. То есть принципы работы с компонентом.

Автор: Guest 6.10.2004, 16:43
adv/49.gif

procedure TReadMessageForm.ToolButton1Click(Sender: TObject);
Var ss,sf : String ;
nr,nc : integer;
fs : tFileStream;
var insertTableParam : DEInsertTableParam;
ovInsertTableParam: OleVariant;
begin
try
if Assigned(eHTML) then case (Sender as TToolButton).ImageIndex of
0: begin
sf:=GetBoxPath(2,-1)+'.hcr';
If fileexists(sf) then cd1.CustomColors.LoadFromFile(sf);
if cd1.Execute then begin
ss := IntToHex( GetRValue(cd1.Color), 2 ) +
IntToHex( GetGValue(cd1.Color), 2 ) +
IntToHex( GetBValue(cd1.Color), 2 );
eHTML.DOM.Set_bgColor('#' + ss);
Cd1.CustomColors.SaveToFile(sf);
end;
end;
1: eHTML.ExecCommand(DECMD_FONT , OLECMDEXECOPT_DODEFAULT);
2: eHTML.ExecCommand(DECMD_BOLD , OLECMDEXECOPT_DODEFAULT);
3: eHTML.ExecCommand(DECMD_ITALIC , OLECMDEXECOPT_DODEFAULT);
4: eHTML.ExecCommand(DECMD_UNDERLINE, OLECMDEXECOPT_DODEFAULT);
5: eHTML.ExecCommand(DECMD_JUSTIFYLEFT , OLECMDEXECOPT_DODEFAULT);
6: eHTML.ExecCommand(DECMD_JUSTIFYCENTER, OLECMDEXECOPT_DODEFAULT);
7: eHTML.ExecCommand(DECMD_JUSTIFYRIGHT , OLECMDEXECOPT_DODEFAULT);
8: eHTML.ExecCommand(DECMD_INDENT , OLECMDEXECOPT_DODEFAULT);
9: eHTML.ExecCommand(DECMD_OUTDENT , OLECMDEXECOPT_DODEFAULT);
10: eHTML.ExecCommand(DECMD_ORDERLIST , OLECMDEXECOPT_DODEFAULT);
11: eHTML.ExecCommand(DECMD_UNORDERLIST, OLECMDEXECOPT_DODEFAULT);
12: eHTML.ExecCommand(DECMD_DELETE , OLECMDEXECOPT_DODEFAULT);
13: eHTML.ExecCommand(DECMD_UNDO , OLECMDEXECOPT_DODEFAULT);
14: eHTML.ExecCommand(DECMD_REDO , OLECMDEXECOPT_DODEFAULT);
15: eHTML.ExecCommand(DECMD_FindText, OLECMDEXECOPT_DODEFAULT);
36: If odHtml.Execute then begin
try
BaseURL:=ExtractFilePath(odHtml.FileName);
if CheckBaseUrl(BaseUrl) then eHTML.BaseURL:=BaseURL;
SetLength(ss,0);
fs:=tFileStream.Create(odHtml.FileName,fmOpenRead);
if fs<>Nil then begin
if fs.size>0 then begin SetLength(ss,fs.Size); fs.Read(ss[1],fs.Size) end;
fs.Free
end;
MakeFullPathImg(ss,BaseUrl);
MakeFullPathBGrd(ss,BaseUrl);
eHTML.DocumentHTML := ss;
sdHtml.FileName:=odHtml.FileName
except
MyMessageBox(msl.items[9],msl.items[10],mb_OK+mb_IconInformation)
end
end;
39: if Assigned(mCode) and sdHTML.Execute then begin
if pcl.ActivePageIndex=1 then mCode.Lines.Text:=eHTML.DocumentHTML;
mCode.Lines.SaveToFile(odHtml.FileName);
odHtml.FileName:=sdHtml.FileName
end;
33: eHTML.ExecCommand(DECMD_HYPERLINK, OLECMDEXECOPT_DODEFAULT);
35: eHTML.ExecCommand(DECMD_UNLINK , OLECMDEXECOPT_DODEFAULT);
21: eHTML.ExecCommand(DECMD_SELECTALL, OLECMDEXECOPT_DODEFAULT);
31: eHTML.ExecCommand(DECMD_IMAGE , OLECMDEXECOPT_DODEFAULT);
28: eHTML.ExecCommand(DECMD_COPY , OLECMDEXECOPT_DODEFAULT);
37: eHTML.ExecCommand(DECMD_Paste , OLECMDEXECOPT_DODEFAULT);
29: eHTML.ExecCommand(DECMD_CUT , OLECMDEXECOPT_DODEFAULT);
38: {eHTML.Dom.PrintDocument(EmptyParam)};//ExecCommand(DECMD_Print , OLECMDEXECOPT_DODEFAULT);
40: if DoInsertTable(nr,nc,ss, sf) then begin
insertTableParam := CreateComObject(Class_DEInsertTableParam) as IDEInsertTableParam;
insertTableParam.NumRows := nr;
insertTableParam.NumCols := nc;
insertTableParam.TableAttrs := ss;
insertTableParam.CellAttrs := sf;
ovInsertTableParam := OleVariant(insertTableParam);
eHTML.ExecCommand(DECMD_INSERTTABLE, OLECMDEXECOPT_DODEFAULT, ovInsertTableParam);
end;
43: if Assigned(mCode)then begin
//sf:=pIniInfo.sHtml; s:=ExtractFileExt(sf); SetLength(sf,Length(sf)-length(s)); sf:=sf+'~thml.html';
sf:=GetNameVST(Msg.NBox,Msg.PosM,1);
if pcl.ActivePageIndex=1 then mCode.Lines.Text:=eHTML.DocumentHTML;
mCode.Lines.SaveToFile(sf);
//GoToWeb1.URL:=sf;
//GoToWeb1.Execute;
end;
end;
except end
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)