亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iwhtmleng.pas

?? TMS IntraWEb增強控件TMSIntraWeb_v2.3.2.1_D2007.rar
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
{***************************************************************************}
{ TMS IntraWeb Component Pack Pro                                           }
{ for Delphi & C++Builder                                                   }
{ version 2.2                                                               }
{                                                                           }
{ written by TMS Software                                                   }
{            copyright ?2002 - 2004                                        }
{            Email : info@tmssoftware.com                                   }
{            Web : http://www.tmssoftware.com                               }
{                                                                           }
{ The source code is given as is. The author is not responsible             }
{ for any possible damage done due to the use of this code.                 }
{ The component can be freely used in any application. The complete         }
{ source code remains property of the author and may not be distributed,    }
{ published, given or sold in any form as such. No parts of the source      }
{ code can be included in any other component or application without        }
{ written authorization of the author.                                      }
{***************************************************************************}


function Text2Color(s:string): TColor;
begin
  Result := clBlack;

  if (s='clred') then result:=clred else
  if (s='clblack') then result:=clblack else
  if (s='clblue') then result:=clblue else
  if (s='clgreen') then result:=clgreen else
  if (s='claqua') then result:=claqua else
  if (s='clyellow') then result:=clyellow else
  if (s='clfuchsia') then result:=clfuchsia else
  if (s='clwhite') then result:=clwhite else
  if (s='cllime') then result:=cllime else
  if (s='clsilver') then result:=clsilver else
  if (s='clgray') then result:=clgray else
  if (s='clolive') then result:=clolive else
  if (s='clnavy') then result:=clnavy else
  if (s='clpurple') then result:=clpurple else
  if (s='clteal') then result:=clteal else
  if (s='clmaroon') then result:=clmaroon;

  if Result <> clBlack then Exit;

  if (s='clbackground') then result:=clbackground else
  if (s='clactivecaption') then result:=clactivecaption else
  if (s='clinactivecaption') then result:=clinactivecaption else
  if (s='clmenu') then result:=clmenu else
  if (s='clwindow') then result:=clwindow else
  if (s='clwindowframe') then result:=clwindowframe else
  if (s='clmenutext') then result:=clmenutext else
  if (s='clwindowtext') then result:=clwindowtext else
  if (s='clcaptiontext') then result:=clcaptiontext else
  if (s='clactiveborder') then result:=clactiveborder else
  if (s='clinactiveborder') then result:=clinactiveborder else
  if (s='clappworkspace') then result:=clappworkspace else
  if (s='clhighlight') then result:=clhighlight else
  if (s='clhighlighttext') then result:=clhighlighttext else
  if (s='clbtnface') then result:=clbtnface else
  if (s='clbtnshadow') then result:=clbtnshadow else
  if (s='clgraytext') then result:=clgraytext else
  if (s='clbtntext') then result:=clbtntext else
  if (s='clinactivecaptiontext') then result:=clinactivecaptiontext else
  if (s='clbtnhighlight') then result:=clbtnhighlight else
  if (s='cl3ddkshadow') then result:=clgraytext else
  if (s='cl3dlight') then result:=cl3dlight else
  if (s='clinfotext') then result:=clinfotext else
  if (s='clinfobk') then result:=clinfobk;
end;

function HexVal(s:string): Integer;
var
  i,j: Integer;
begin
  if Length(s) < 2 then
  begin
    Result := 0;
    Exit;
  end;

  if s[1] >= 'A' then
    i := ord(s[1]) - ord('A') + 10
  else
    i := ord(s[1]) - ord('0');

  if s[2] >= 'A' then
    j := ord(s[2]) - ord('A') + 10
  else
    j := ord(s[2]) - ord('0');

  Result := i shl 4 + j;
end;

function Hex2Color(s:string): TColor;
var
  r,g,b: Integer;
begin
  r := Hexval(Copy(s,2,2));
  g := Hexval(Copy(s,4,2)) shl 8;
  b := Hexval(Copy(s,6,2)) shl 16;
  Result := TColor(b + g + r);
end;

function IPos(su,s:string):Integer;
begin
  Result := Pos(UpperCase(su),UpperCase(s));
end;

function IStrToInt(s:string):Integer;
var
  Err,Res: Integer;
begin
  Val(s,Res,Err);
  Result := Res;
end;

function DBTagStrip(s:string):string;
var
  i,j: Integer;
begin
  i := Pos('<#',s);
  if i > 0 then
  begin
    Result := Copy(s,1,i - 1);
    Delete(s,1,i);
    j := Pos('>',s);
    if j > 0 then
      Delete(s,j,1);
    Result := Result + s;
  end
  else
    Result := s;
end;

function CRLFStrip(s:string;break:boolean):string;
var
  i: Integer;
begin
  Result := '';
  for i := 1 to Length(s) do
  begin
    if not (s[i] in [#13,#10]) then
      Result := Result + s[i]
    else
      if (s[i] = #13) and break then
        Result := Result + '<BR>';
  end;
end;

function VarPos(su,s:string;var Res:Integer):Integer;
begin
  Res := Pos(su,s);
  Result := Res;
end;

function TagReplaceString(const Srch,Repl:string;var Dest:string):Boolean;
var
  i: Integer;
begin
  i := IPos(srch,dest);
  if i > 0 then
  begin
    Result := True;
    Delete(Dest,i,Length(Srch));
    Dest := Copy(Dest,1,i-1) + Repl + Copy(Dest,i,Length(Dest));
  end
  else
    Result := False;
end;

function HTMLDrawEx(Canvas:TCanvas; s:string; fr:TRect;
                    FImages: TImageList;
                    XPos,YPos,FocusLink,HoverLink,ShadowOffset: Integer;
                    CheckHotSpot,CheckHeight,Print,Selected,Blink,HoverStyle,WordWrap: Boolean;
                    ResFactor:Double;
                    URLColor,HoverColor,HoverFontColor,ShadowColor:TColor;
                    var AnchorVal,StripVal,FocusAnchor: string;
                    var XSize,YSize,HyperLinks,MouseLink: Integer;
                    var HoverRect:TRect;ic: TIWHTMLPictureCache; pc: TIWPictureContainer): Boolean;
var
  su: string;
  r,dr,hr,rr,er: TRect;
  htmlwidth,htmlheight: Integer;
  Align: TAlignment;
  PIndent: Integer;
  OldFont: TFont;
  CalcFont: TFont;
  DrawFont: TFont;
  OldCalcFont: TFont;
  OldDrawFont: TFont;
  Hotspot, ImageHotspot: Boolean;
  Anchor,OldAnchor,MouseInAnchor,Error: Boolean;
  bgcolor,paracolor,hvrcolor,hvrfntcolor,pencolor,blnkcolor,hifcol,hibcol: TColor;
  LastAnchor,OldAnchorVal: string;
  IMGSize: TPoint;
  isSup,isSub,isPara,isShad: Boolean;
  subh,suph,imgali,srchpos,hlcount,licount: Integer;
  hrgn,holdfont: THandle;
  ListIndex: Integer;
  dtp: TDrawTextParams;
  Invisible: Boolean;
  FoundTag: Boolean;
  {new for editing}
  nnFit: Integer;
  nnSize: TSize;
  inspoint: Integer;
  nndx: Pointer;
  AltImg,ImgIdx,OldImgIdx: Integer;
  DrawStyle: DWord;

  procedure StartRotated(Canvas:TCanvas;Angle: Integer);
  var
    LFont:TLogFont;
  begin
    GetObject(Canvas.Font.Handle,SizeOf(LFont),Addr(LFont));
    LFont.lfEscapement := Angle * 10;
    LFont.lfOrientation := Angle * 10;
    hOldFont:=SelectObject(Canvas.Handle,CreateFontIndirect(LFont));
  end;

  procedure EndRotated(Canvas:TCanvas);
  begin
    DeleteObject(SelectObject(Canvas.Handle,hOldFont));
  end;

  {$WARNINGS OFF}
  function HTMLDrawLine(Canvas: TCanvas;var s:string;r: TRect;Calc:Boolean;
                        var w,h,subh,suph,imgali:Integer;var Align:TAlignment; var PIndent: Integer;
                        XPos,YPos:Integer;var Hotspot,ImageHotSpot:Boolean):string;
  var
    su,Res,TagProp,Prop,AltProp,Tagp,LineText:string;
    cr: TRect;
    linebreak,imgbreak,linkbreak: Boolean;
    th,sw,indent,err,bmpx,bmpy: Integer;
    TagPos,SpacePos,o,l: Integer;
    bmp: TIWHTMLPicture;
    ABitmap: TBitmap;
    NewColor: TColor;
    TagWidth,TagHeight,WordLen,WordLenEx,WordWidth: Integer;
    TagChar: Char;
    LengthFits, SpaceBreak: Boolean;

  begin
    Result := '';
    LineText := '';
    r.Bottom := r.Bottom - Subh;

    w := 0;
    sw := 0;

    LineBreak := False;
    ImgBreak := False;
    LinkBreak := False;
    HotSpot := False;
    ImageHotSpot := False;
    cr := r;
    res := '';

    if isPara and not Calc then
    begin
      Pencolor := Canvas.Pen.Color;
      Canvas.Pen.color := Canvas.Brush.Color;
      Canvas.Rectangle(fr.Left,r.Top,fr.Right,r.Top + h);
    end;

    while (Length(s) > 0) and not LineBreak and not ImgBreak do
    begin
      // get next word or till next HTML tag
      TagPos := Pos('<',s);

      if WordWrap then
        SpacePos := Pos(' ',s)
      else
        SpacePos := 0;

      if (Tagpos > 0) and ((SpacePos > TagPos) or (SpacePos = 0)) then
      begin
        su := Copy(s,1,TagPos - 1);
      end
      else
      begin
        if SpacePos > 0 then
          su := Copy(s,1,SpacePos)
        else
          su := s;
      end;

      {$IFDEF TMSDEBUG}
      DbgMsg(su+ '.');
      {$ENDIF}

      WordLen := Length(su);

      while Pos('&nbsp;',su) > 0 do
      begin
        TagReplacestring('&nbsp;',' ',su);
      end;

      while Pos('&lt;',su) > 0 do
      begin
        TagReplacestring('&lt;','<',su);
      end;

      while Pos('&gt;',su) > 0 do
      begin
        TagReplacestring('&gt;','>',su);
      end;

      WordLenEx := Length(su);

      if WordLen > 0 then
      begin
        th := Canvas.TextHeight(su);

        if isSub and (subh < (th shr 2)) then subh := th shr 2;
        if isSup and (suph < (th shr 2)) then suph := th shr 2;

        if th > h then
          h := th;

        StripVal := StripVal + su;

        if not Invisible then
        begin
          // draw mode
          if not Calc then
          begin
            if isSup then
              cr.Bottom := cr.Bottom - suph;
            if isSub then
              cr.Bottom := cr.Bottom + subh;

            cr.Bottom := cr.Bottom - imgali;

            if isShad then
            begin
              OffsetRect(cr,ShadowOffset,ShadowOffset);
              NewColor := Canvas.Font.Color;
              Canvas.Font.Color := ShadowColor;
              DrawTextEx(Canvas.Handle,PChar(su),WordLenEx,cr,DrawStyle,nil);
              Offsetrect(cr,-ShadowOffset,-ShadowOffset);
              Canvas.Font.Color := NewColor;
            end;

            DrawTextEx(Canvas.Handle,PChar(su),WordLenEx,cr,DrawStyle,nil);
            DrawTextEx(Canvas.Handle,PChar(su),WordLenEx,cr,DrawStyle or DT_CALCRECT,nil);

            if Anchor and (Hyperlinks - 1 = FocusLink) then
              FocusAnchor := LastAnchor;

            {$IFDEF TMSDEBUG}
            if Anchor then
              DbgMsg('drawrect for '+anchorval+' = ['+inttostr(cr.Left)+':'+inttostr(cr.Top)+'] ['+inttostr(cr.right)+':'+inttostr(cr.bottom)+'] @ ['+inttostr(xpos)+':'+inttostr(ypos));
            {$ENDIF}

            if Error then
            begin
              Canvas.Pen.Color := clRed;
              Canvas.Pen.Width := 1;

              l := (cr.Left div 2) * 2;
              if (l mod 4)=0 then o := 2 else o := 0;

              Canvas.MoveTo(l,r.Bottom + o - 1);
              while l < cr.Right do
              begin
                if o = 2 then o := 0 else o := 2;
                Canvas.LineTo(l + 2,r.bottom + o - 1);
                Inc(l,2);
              end;
              // if o = 2 then o := 0 else o := 2;
              // Canvas.LineTo(l + 2,r.Bottom + o - 1);
            end;

            cr.Left := cr.Right;
            cr.Right := r.Right;
            cr.Bottom := r.Bottom;
            cr.Top := r.Top;
          end
        else
          begin
            cr := r; //reinitialized each time !
            DrawTextEx(Canvas.Handle,PChar(su),WordLenEx,cr,DrawStyle or DT_CALCRECT,nil);

            // preparations for editing purposes
            if (ypos > cr.Top) and (ypos < cr.bottom) and (xpos > w) then {scan charpos here}
            begin
              er := rect(w,cr.top,xpos,cr.bottom);
              Fillchar(dtp,sizeof(dtp),0);
              dtp.cbSize:=sizeof(dtp);

              {$IFDEF DELPHI4_LVL}
              GetTextExtentExPoint(Canvas.Handle,pChar(su),WordLenEx,xpos-w,@nnfit,nil,nnSize);
              {$ELSE}
              nndx:=nil; {fix for declaration error in Delphi 3 WINDOWS.PAS}
//              GetTextExtentExPoint(Canvas.Handle,pChar(su),WordLenEx,xpos-w,nnfit,integer(nndx^),nnSize);
              {$ENDIF}

              {this will get the character pos of the insertion point}
              if nnfit = WordLen then
                InsPoint := InsPoint + WordLen
              else
                InsPoint := InsPoint + nnfit;
            end;
            {end of preparations for editing purposes}

            {Calculated text width}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91一区二区在线| 一区二区三区日韩精品视频| 亚洲国产精品欧美一二99| 91香蕉视频在线| 亚洲精品视频免费观看| av不卡在线观看| 亚洲欧美偷拍三级| 欧美伊人久久久久久久久影院| 亚洲激情综合网| 欧美午夜精品理论片a级按摩| 亚洲国产成人高清精品| 欧美一区二区网站| 国产精一品亚洲二区在线视频| 久久久国产精品午夜一区ai换脸| 成人毛片老司机大片| 亚洲欧美二区三区| 91精品国产入口| 久久精品av麻豆的观看方式| 欧美激情在线一区二区| 色成年激情久久综合| 午夜精品福利久久久| 26uuu欧美| 日本高清成人免费播放| 日韩精品免费专区| 久久久久久久久久美女| 91在线看国产| 蜜臀精品一区二区三区在线观看| 国产日本欧美一区二区| 欧洲精品在线观看| 国模套图日韩精品一区二区| 中文字幕一区二区三区乱码在线| 67194成人在线观看| 国产成人自拍在线| 天天亚洲美女在线视频| 国产女人18水真多18精品一级做 | 欧美一区二区三区免费| 国产一区二区三区日韩 | 亚洲一线二线三线视频| 日韩免费视频一区二区| 一本色道久久综合精品竹菊| 蜜臀av亚洲一区中文字幕| 自拍av一区二区三区| 日韩女优av电影| 色婷婷亚洲婷婷| 精品一区二区免费| 一区二区激情视频| 国产午夜亚洲精品羞羞网站| 欧美三级日韩三级国产三级| 国产成人在线观看免费网站| 同产精品九九九| 综合亚洲深深色噜噜狠狠网站| 日韩一级大片在线| 欧美午夜片在线观看| 成人丝袜视频网| 老司机精品视频一区二区三区| 亚洲欧美成aⅴ人在线观看| 久久综合色之久久综合| 欧美乱妇一区二区三区不卡视频| 成人激情午夜影院| 国产乱子轮精品视频| 日韩高清不卡一区二区| 亚洲欧美另类综合偷拍| 欧美激情一区二区三区不卡| 性感美女极品91精品| 久久精品夜色噜噜亚洲a∨| 欧美一级久久久久久久大片| 欧美国产成人精品| 亚洲综合色成人| 91精品国产综合久久精品| 日日噜噜夜夜狠狠视频欧美人 | 亚洲免费在线播放| 91麻豆国产在线观看| 色www精品视频在线观看| 热久久一区二区| 五月婷婷欧美视频| 欧美一级欧美三级在线观看| 国模少妇一区二区三区| 69p69国产精品| 亚洲一区在线观看免费 | 日韩免费观看高清完整版| 久久精品男人天堂av| 九九久久精品视频| 亚洲图片有声小说| 免费不卡在线视频| 久久综合国产精品| 欧美久久久久免费| 日本黄色一区二区| 欧美怡红院视频| 91国产视频在线观看| 在线一区二区视频| 欧美在线免费视屏| 欧美精品亚洲二区| 欧美一区二区三区人| 91麻豆精品国产91| 欧美成人午夜电影| 国产三级精品视频| 日本一区二区成人在线| 亚洲三级久久久| 亚洲综合色视频| 日韩av电影一区| 激情综合五月婷婷| 成人午夜激情片| 在线亚洲一区观看| 欧美电影影音先锋| 久久久久88色偷偷免费| 国产精品久久99| 午夜精品一区二区三区三上悠亚| 秋霞国产午夜精品免费视频| 久久99日本精品| 国产精品一区三区| 色综合中文字幕国产| 99久久婷婷国产| 欧美日韩综合在线| 国产精品丝袜91| 麻豆91精品91久久久的内涵| 91在线视频官网| 在线播放一区二区三区| 91看片淫黄大片一级在线观看| 97se亚洲国产综合在线| 日韩欧美视频一区| 国产精品天干天干在线综合| 视频一区视频二区中文| www.久久久久久久久| 国产精品久久一卡二卡| 国产v综合v亚洲欧| 日韩一区二区精品| 国产一本一道久久香蕉| 久久久久久久网| 蜜臀va亚洲va欧美va天堂| 91丨九色丨黑人外教| 欧美国产日产图区| 国产精品主播直播| 久久亚洲精精品中文字幕早川悠里| 成人欧美一区二区三区白人| 国产一区二区在线观看视频| 91精品国产色综合久久| 亚洲精品高清在线观看| 色噜噜狠狠成人网p站| 国产精品毛片久久久久久| 综合激情成人伊人| 麻豆精品久久精品色综合| 97超碰欧美中文字幕| 欧美一区二区三区系列电影| 国产清纯白嫩初高生在线观看91 | 欧美日韩亚洲综合一区| 中文字幕亚洲一区二区va在线| 夫妻av一区二区| 日韩精品一区二区三区swag| 精品一区二区三区的国产在线播放| 欧美一区二区三区视频免费 | 欧美一区二区免费视频| 国产一区不卡在线| 欧美mv和日韩mv的网站| 久久久91精品国产一区二区三区| 亚洲国产精品欧美一二99| av电影在线观看一区| 久久久99精品久久| 激情六月婷婷综合| 日韩女优制服丝袜电影| 五月婷婷另类国产| 精品视频一区二区三区免费| 最新热久久免费视频| 成人影视亚洲图片在线| 国产午夜精品一区二区三区嫩草| 激情五月婷婷综合网| 欧美大片国产精品| 天天亚洲美女在线视频| 欧美日韩国产精品自在自线| 亚洲激情六月丁香| 日本韩国精品一区二区在线观看| 中文字幕制服丝袜一区二区三区| 岛国精品在线播放| 欧美激情一区三区| a亚洲天堂av| 亚洲欧美激情插| 在线中文字幕不卡| 亚洲一线二线三线视频| 欧洲一区二区三区免费视频| 亚洲一区二区欧美| 69av一区二区三区| 蜜桃av噜噜一区| 精品久久一区二区| 国产成人精品www牛牛影视| 中文字幕av一区 二区| 成人午夜视频福利| 日韩毛片一二三区| 欧美在线综合视频| 日本中文字幕一区二区有限公司| 欧美高清激情brazzers| 老司机免费视频一区二区| 久久精品欧美日韩| 91一区二区在线| 无吗不卡中文字幕| 欧美va亚洲va| 不卡一二三区首页| 夜夜嗨av一区二区三区四季av| 欧美日韩另类国产亚洲欧美一级| 青青草视频一区| 国产欧美一区二区三区鸳鸯浴| 91美女视频网站|