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

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

?? myedit.pas

?? delphi LED 顯示屏用,帶串口發送,內容編輯,演示功能
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
begin
    if Value <> Fscale then
    begin
        Fscale:=Value;
        width:=8*Ftpbyte*Fscale;
        height:=16*Ftprownum*Fscale;
    end;
end;

procedure Tmyedit.setspace(Value: integer);
begin
    if Value <> Fspace then
    begin
        Fspace:=Value;
    end;
end;

procedure Tmyedit.setplay(Value: Boolean);
begin
    if Value <> Fplay then
    begin
        Fplay:=Value;
        Invalidate;
    end;
end;

procedure Tmyedit.setaddflag(Value: Boolean);
begin
    if Value <> Faddflag then
    begin
        Faddflag:=Value;
        Invalidate;
    end;
end;

procedure Tmyedit.setdataflag(Value: Boolean);
begin
    if Value <> Fdataflag then
    begin
        Fdataflag:=Value;
        writestr;
        paint;
    end;
end;

procedure Tmyedit.Setselectbmpno(Value: integer);
begin
    if (Value <> Fselectbmpno) and (Value<getimagecount) and (Fplay=false) then
    begin
        Fselectbmpno:=Value;
        Invalidate;
    end;
end;

procedure Tmyedit.change;
begin
    if (Ftpcount=0) and (Ftxt<>'') then Ftpcount:=1;
    paint;
end;

procedure Tmyedit.settxt(value:ansistring);
begin
     if  Ftxt<>Value then
     begin
        Ftxt:=value;
     end;
end;

procedure Tmyedit.writestr;
var
   linewidth,lineheight,lineno,kw,kh:integer;
   i,j,klen,kk,k:longint;
   str1,str2:ansistring;
begin
     for i:=0 to 5000 do tpstr[i].no:=0;
     str1:=ftxt;
     klen:=length(str1);
     i:=0;
     kk:=0;
     lineno:=0;
     linewidth:=0;
     lineheight:=0;
     Canvas.Font:=font;
     while i<klen do
     begin
          kh:=(4*tpdata[i].fontsize+1) div 3;
          if str1[i+1]=#13 then
          begin
               if lineheight<kh then lineheight:=kh;
               lineheight:=lineheight;
               tpstr[lineno].lineheight:=lineheight+Fspace;
               tpstr[lineno].linebyte:=i-kk+2;
               lineno:=lineno+1;
               linewidth:=0;
               lineheight:=0;
               i:=i+2;
               kk:=i;
          end
          else
          begin
               str2:=str1[i+1];
               k:=1;
               if str1[i+1]>#$80 then
               begin
                    k:=2;
                    str2:=str2+str1[i+2];
               end;
               kw:=k*kh div 2;
               linewidth:=linewidth+kw;
               if linewidth>8*Ftpbyte then
               begin
                    tpstr[lineno].linebyte:=i-kk;
                    tpstr[lineno].lineheight:=lineheight+Fspace;
                    lineno:=lineno+1;
                    kk:=i;
                    linewidth:=kw;
                    lineheight:=kh;
               end
               else
               begin
                    if lineheight<kh then  lineheight:=kh;
               end;
               i:=i+k;
          end;
     end;
     if  linewidth<>0 then
     begin
          tpstr[lineno].linebyte:=klen-kk;
          tpstr[lineno].lineheight:=lineheight+Fspace;
          lineno:=lineno+1;
     end;
     totalline:=lineno;
     j:=0;
     tptotal:=0;
     for i:=0  to lineno-1 do
     begin
          j:=j+tpstr[i].lineheight;
          if j>16*Ftprownum then
          begin
               tptotal:=tptotal+1;
               j:=tpstr[i].lineheight;
          end;
          tpstr[i].no:=tptotal+1;
     end;
     if (j>0) then tptotal:=tptotal+1;
end;

procedure Tmyedit.settppos(Value: longint);
var
    i:integer;
    kk,klen:longint;
begin
    if Value <> Ftppos then
    begin
          Ftppos:=Value;
          if Ftxt='' then Ftpcount:=0
          else
          begin
               kk:=0;
               i:=0;
               klen:=Ftppos;
               while (kk+tpstr[i].linebyte<=klen) and (i<totalline) do
               begin
                    if kk+tpstr[i].linebyte<=klen then
                    begin
                         kk:=kk+tpstr[i].linebyte;
                         if kk<=klen then i:=i+1;
                    end;
               end;
               if i>=totalline then i:=totalline-1;
               Ftpcount:=tpstr[i].no;
          end;
     end;
end;

procedure Tmyedit.settpcount(Value: integer);
var
    i,j:integer;
    kk:longint;
begin
    if Value <> Ftpcount then
    begin
        Ftpcount:=Value;
        if Ftpcount<2 then Ftppos:=0
        else
        begin
            kk:=0;
            j:=0;
            for i:=0 to Ftpcount-2 do
            begin
                while (tpstr[j].no=i+1) and (j<totalline) do
                begin
                    kk:=kk+tpstr[j].linebyte;
                    j:=j+1;
                end;
            end;
            Ftppos:=kk;
        end;
     //   Invalidate;
    end;
end;

procedure Tmyedit.Paint;
begin
    calpaint;
    Canvas.Draw(0,0,bmp);
end;

procedure Tmyedit.calpaint;
var
    str1:string;
    i,j,k,x,y,k1,kh,kw,yoff,yy:integer;
    kx,ky:integer;
    kk,kct:longint;
    pic:Tpicture;
begin
    bmp.Width:=width;
    bmp.Height:=height;
    bmp.Canvas.Brush.Color:=color;
    bmp.Canvas.FillRect(rect(0,0,bmp.Width,bmp.Height));
    bmp.Canvas.Font:=Font;
    bmp.Canvas.CopyMode:=cmSrcPaint;
    kk:=0;
    if Ftpcount>0 then
    begin
        i:=0;
        while (tpstr[i].no<Ftpcount) and (i<totalline) do
        begin
            kk:=kk+tpstr[i].linebyte;
            i:=i+1;
        end;
        y:=0;
        j:=i;
        x:=1;
        while (tpstr[j].no=Ftpcount) and (j<totalline) do
        begin
               y:=y+tpstr[j].lineheight;
               j:=j+1;
               x:=x+1;
        end;
        yy:=(height-y*Fscale) div x;
        y:=yy;
        while (tpstr[i].no=Ftpcount) and (i<totalline) do
        begin
            j:=0;
            x:=0;
            while(j<tpstr[i].linebyte) do
            begin
                str1:=Ftxt[kk+1];
                k:=1;
                if str1[1]>#$80 then
                begin
                    str1:=str1+Ftxt[kk+2];
                    k:=2;
                end;
                kh:=((4*tpdata[kk].fontsize+1) div 3);
                kw:=k*kh div 2;
                k1:=tpdata[kk].extra div $10;
                if (k1=0) or (k1>6) then
                begin
                    myfont.lfHeight:=kh;
                    myfont.lfWidth:=kh;
                end
                else if (k1=6) or (k1=5) then
                begin
                    myfont.lfHeight:=kh-2;
                    myfont.lfWidth:=kh-2;
                end
                else if (k1=1) or (k1=2) then
                begin
                    myfont.lfWidth:=kh;
                    myfont.lfHeight:=kh-1;
                end
                else  if (k1=3) or (k1=4) then
                begin
                    myfont.lfWidth:=kh-1;
                    myfont.lfHeight:=kh;
                end;
                if (tpdata[kk].fontstyle and $80)=0 then myfont.lfWeight:=400
                else  myfont.lfWeight:=700;
                if (tpdata[kk].fontstyle and $40)=0 then myfont.lfItalic:=0
                else myfont.lfItalic:=1;
                if (tpdata[kk].fontstyle and $20)=0 then myfont.lfUnderline:=0
                else myfont.lfUnderline:=1;
                if (tpdata[kk].fontstyle and $10)=0 then  myfont.lfStrikeOut:=0
                else myfont.lfStrikeOut:=1;
                sysfont.Handle:=CreateFontIndirect(myfont);
                bmp.Canvas.font.Assign(SYSfont);

                if tpdata[kk].fontname<=0 then tpdata[kk].fontname:=fontname.Count-1;
                bmp.Canvas.Font.Name:=fontname.Strings[tpdata[kk].fontname];
                if (tpdata[kk].color<0) or (tpdata[kk].color>2)  then  tpdata[kk].color:=0;
               // bmp.Canvas.Font.Color:=SCREENCOLOR[tpdata[kk].color];
                if str1[1]>=#$20 then
                begin
                    yoff:=((tpstr[i].lineheight-kh)) div 2;
                    if yoff<0 then yoff:=0;
                    if (kw>0) and (kh>0) then
                    begin
                      bmptemp.Width:=2*kw;
                      bmptemp.Height:=kh;
                      bmptemp.Canvas.Brush.Color:=color;
                      bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                      bmptemp.Canvas.Font:=bmp.Canvas.Font;

                      if (k1=6) then
                      begin
                        bmp.Canvas.CopyMode:=cmSrcPaint;
                        bmptemp.Canvas.Font.Color:=SCREENCOLOR[tpdata[kk].color];
                        bmptemp.canvas.TextOut(1,0,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.Brush.Color:=color;
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmptemp.canvas.TextOut(1,2,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmptemp.canvas.TextOut(0,1,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmptemp.canvas.TextOut(2,1,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.Brush.Color:=$ffffff;
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmp.Canvas.CopyMode:=cmSrcAnd;
                        bmptemp.Canvas.Font.Color:=0;
                        bmptemp.canvas.TextOut(1,1,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                      end
                      else if k1=1 then
                      begin
                        bmp.Canvas.CopyMode:=cmSrcPaint;
                        bmptemp.Canvas.Font.Color:=$ff*(tpdata[kk].extra and 1)+$ff00*(tpdata[kk].extra div 2 and 1);
                        bmptemp.canvas.TextOut(0,0,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.Brush.Color:=$fffff;
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmp.Canvas.CopyMode:=cmSrcAnd;
                        bmptemp.Canvas.Font.Color:=0;
                        bmptemp.canvas.TextOut(0,1,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                        bmptemp.Canvas.Brush.Color:=0;
                        bmptemp.Canvas.FillRect(Rect(0,0,bmptemp.Width,bmptemp.Height));
                        bmp.Canvas.CopyMode:=cmSrcPaint;
                        bmptemp.Canvas.Font.Color:=SCREENCOLOR[tpdata[kk].color];
                        bmptemp.canvas.TextOut(0,1,str1);
                        bmp.Canvas.Draw(x,y+yoff,bmptemp);
                      end
                      else if k1=2 then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线观看免费网站| 91偷拍与自偷拍精品| 91激情五月电影| 亚洲国产精品黑人久久久| 蜜乳av一区二区| 欧美影片第一页| 亚洲精品ww久久久久久p站| 成人国产精品免费观看动漫| 久久精品在线观看| 久久99久久久欧美国产| 日韩欧美一区在线| 理论片日本一区| 成人av网站在线观看| 91精品麻豆日日躁夜夜躁| 视频一区国产视频| 欧美一级理论性理论a| 亚洲猫色日本管| 欧美中文字幕一区| 亚洲18色成人| 欧美一级黄色片| 美女任你摸久久| 久久你懂得1024| 国产高清亚洲一区| 中文字幕在线不卡一区二区三区| 成人精品一区二区三区四区| 国产精品国产三级国产aⅴ中文| 国产成人高清在线| 亚洲丝袜自拍清纯另类| 欧美性三三影院| 麻豆91在线看| 国产精品污网站| 91国内精品野花午夜精品| 日韩高清不卡一区二区三区| 欧美不卡123| www.成人在线| 艳妇臀荡乳欲伦亚洲一区| 欧美另类videos死尸| 精品无人区卡一卡二卡三乱码免费卡| 久久久久久一级片| 国产精品123区| 国产精品私人自拍| 不卡一区二区在线| 亚洲成年人网站在线观看| 欧美视频三区在线播放| 免费观看在线综合| 日本一区二区动态图| 在线观看网站黄不卡| 精品在线播放午夜| 亚洲日本青草视频在线怡红院| 欧美一区二区精品久久911| 亚洲欧美日韩一区二区三区在线观看| 天堂av在线一区| 日韩午夜在线观看视频| 国产精品18久久久久久久久久久久| 国产精品久久久久久久久免费樱桃| 色94色欧美sute亚洲13| 青青草国产精品97视觉盛宴| 国产精品久久久久永久免费观看 | 国产精品久久久久四虎| 在线免费观看日本一区| 国产麻豆视频一区| 亚洲最大成人综合| 国产日韩欧美精品一区| 88在线观看91蜜桃国自产| 成人免费高清在线| 日本不卡视频在线观看| 亚洲女同ⅹxx女同tv| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美日韩一级二级三级| 国产精品伦一区| 国产制服丝袜一区| 综合久久综合久久| 成人午夜激情影院| 图片区小说区国产精品视频| 91精品国产综合久久蜜臀| 91首页免费视频| 久久精品国产精品青草| 亚洲成av人片在www色猫咪| 欧美国产成人精品| 精品国产91洋老外米糕| 91精品久久久久久蜜臀| 欧美日韩在线三级| 欧美日韩精品二区第二页| 99久久99久久免费精品蜜臀| 国产精品一区二区三区四区 | 亚洲天堂2014| 欧美国产日韩亚洲一区| 精品国产免费久久| 欧美sm美女调教| 日韩一区二区三区免费看| 丁香一区二区三区| 日本不卡视频在线| 免费观看在线综合| 日韩经典中文字幕一区| 亚洲精品日韩专区silk| 中文字幕一区av| 国产精品天干天干在观线| 久久久久97国产精华液好用吗 | 欧美日韩国产经典色站一区二区三区 | 成人小视频免费在线观看| 精品一区二区三区视频在线观看| 日韩精品久久理论片| 午夜婷婷国产麻豆精品| 午夜日韩在线观看| 视频精品一区二区| 日韩精品乱码免费| 免费成人在线视频观看| 久久精品国产亚洲高清剧情介绍| 九色综合国产一区二区三区| 久久不见久久见中文字幕免费| 美女脱光内衣内裤视频久久网站| 蜜桃视频在线一区| 国产一本一道久久香蕉| 国产成人高清在线| 日韩精品自拍偷拍| 日韩精品一区二区三区四区视频| 日韩午夜中文字幕| 国产色一区二区| 中文字幕中文乱码欧美一区二区| 精品国一区二区三区| 久久精品一区二区三区四区 | 久久99精品久久久久婷婷| 国产综合久久久久影院| 国产一级精品在线| 成人黄色国产精品网站大全在线免费观看| 国产超碰在线一区| 成人手机电影网| 9l国产精品久久久久麻豆| 欧美视频一区二区在线观看| 日韩视频123| 欧美精品一区二区三区四区| 国产精品美女www爽爽爽| 亚洲综合网站在线观看| 国内精品不卡在线| 99riav久久精品riav| 色综合天天综合色综合av | 中文字幕一区二区三区av| 亚洲成国产人片在线观看| 日韩经典一区二区| 成人黄色一级视频| 777a∨成人精品桃花网| 久久久精品免费观看| 一区二区三区免费网站| 精品亚洲成av人在线观看| 91福利在线导航| 久久久国产综合精品女国产盗摄| 综合电影一区二区三区 | 国产成人一级电影| 91丨九色丨蝌蚪富婆spa| 国产欧美1区2区3区| 在线91免费看| 国产成人丝袜美腿| 丁香亚洲综合激情啪啪综合| 99国产欧美另类久久久精品| 91精品国产综合久久久蜜臀图片| 亚洲国产精华液网站w| 亚洲国产视频a| 日韩国产精品91| 欧美日韩你懂的| 日韩精品一卡二卡三卡四卡无卡| 欧美亚洲综合网| 亚洲午夜在线电影| 欧美亚洲国产一区在线观看网站| 亚洲乱码中文字幕综合| 色噜噜狠狠色综合中国| 亚洲精品美腿丝袜| 欧美在线一区二区三区| 中文字幕精品—区二区四季| 成人动漫精品一区二区| 国产精品久久精品日日| av电影天堂一区二区在线 | 日韩欧美国产小视频| 麻豆精品在线视频| 久久亚洲一区二区三区明星换脸 | 久88久久88久久久| 国产午夜亚洲精品不卡 | 国产夫妻精品视频| 久久蜜桃av一区精品变态类天堂| 美腿丝袜亚洲三区| 久久久亚洲精华液精华液精华液| 国产一区免费电影| 1024成人网| 欧美性极品少妇| 欧美a级一区二区| 国产欧美一区二区精品仙草咪| 99久久精品免费看| 一区二区三区精品视频在线| 欧美日韩激情一区| 精品一区二区三区香蕉蜜桃| 国产精品久久毛片av大全日韩| 欧美性色黄大片手机版| 岛国精品在线观看| 日韩成人免费在线| 亚洲欧洲成人自拍| 久久日韩精品一区二区五区| 91久久免费观看| 高潮精品一区videoshd| 日韩成人精品在线| 亚洲色图另类专区| 久久男人中文字幕资源站|