我现在用DHTMLSafe做邮件的编辑器,但是遇到了如下问题:
1、我使用DHTMLSafe.DOM.bgColor来改变当前文档的背景色时,我使用如下语句:
   if ColorDialog1.Execute then begin
     DHTMLSafe1.DOM.bgColor := ColorDialog1.Color;
  end;
当我在ColorDialog1里选择红色时,当前编辑的文档的实际显示的颜色却是兰色,而当在ColorDialog1里选择蓝色时,当前编辑的文档的实际显示的颜色却是红色,请问这是为什么?
2、我如何设置当前文档的背景图案,我是想实现信纸功能

解决方案 »

  1.   

    1)你需要转换TColor!
    procedure THTMLEdit.btnDocColorClick(Sender: TObject);
    var r, g, b : Byte;
    begin
      cdColor.Color := TextBGColor;
      if cdColor.Execute then
         begin
           r := cdColor.Color and $FF;
           g := (cdColor.Color and $FF00) div 256;
           b := (cdColor.Color and $FF0000) div 65536;
           DOMInterface.bgColor := r*65536+g*256+b;;
         end;
    end;2)
    procedure THTMLEdit.btnBGImageClick(Sender: TObject);
    var op : TOpenPictureDialog;
    begin
      op := TOpenPictureDialog.Create(Self);
      if op.Execute
         then DOMInterface.body.setAttribute('background', op.FileName, 0)
         else DOMInterface.body.removeAttribute('background', 0);
      op.Free;
    end;结贴并请提交到FAQ了