EJunGrid使用總結

2021-04-09 07:38:48 字數 4690 閱讀 8211

1   1。0版沒有實現垂直方向上的對齊,

procedure tobgui_reportdesign.griddrawcelltext(acanvas: tcanvas; const arect:

trect; const acoord: tpoint; agrid: tzjgrid; const text: string; var

adefaultdraw: boolean);

begin

if agrid.cells[acoord.x,acoord.y].textalign = gatopcenter then

begin

adefaultdraw := false;

acanvas.textrect(arect,(arect.right-arect.left-acanvas.textwidth(text)) div 2+arect.left,

arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign = gabottomcenter then

begin

adefaultdraw := false;

acanvas.textrect(arect,(arect.right-arect.left-acanvas.textwidth(text)) div 2+arect.left,

arect.bottom-acanvas.textheight(text),text);

endelse

if grid.cells[acoord.x,acoord.y].textalign = gatopleft then

begin

adefaultdraw := false;

acanvas.textrect(arect,arect.left,arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gatopright then

begin

adefaultdraw := false;

acanvas.textrect(arect,arect.right-acanvas.textwidth(text),arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gabottomleft then

begin

adefaultdraw:= false;

acanvas.textrect(arect,arect.left,arect.bottom-acanvas.textheight(text),text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gabottomright then

begin

adefaultdraw := false;

acanvas.textrect(arect,arect.right-acanvas.textwidth(text),arect.bottom-acanvas.textheight(text),text);

end;

end; 

2  暈,2。5版更厲害,所有的對齊都不管用,

還有如果按照上面的方式修改之後,

當使用了非gacentercenter對齊之後,在cell上面設定顏色的話,無法刷出顏色來。但是cell的背景色的值確實被設定。

所以如下,主要利用canvas:

procedure tobgui_reportdesign.griddrawcelltext(acanvas: tcanvas;

const arect: trect; const acoord: tpoint; agrid: tejungrid;

const text: string; var adefaultdraw: boolean);

begin

if agrid.cells[acoord.x,acoord.y].textalign = gatopcenter then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,(arect.right-arect.left-acanvas.textwidth(text)) div 2+arect.left,

arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign = gabottomcenter then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,(arect.right-arect.left-acanvas.textwidth(text)) div 2+arect.left,

arect.bottom-acanvas.textheight(text),text);

endelse

if grid.cells[acoord.x,acoord.y].textalign = gatopleft then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.left,arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gatopright then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.right-acanvas.textwidth(text),arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gabottomleft then

begin

adefaultdraw:= false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.left,arect.bottom-acanvas.textheight(text),text);

endelse

if grid.cells[acoord.x,acoord.y].textalign =gabottomright then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.right-acanvas.textwidth(text),

arect.bottom-acanvas.textheight(text),text);

endelse

if grid.cells[acoord.x,acoord.y].textalign= gacenterleft then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.left,

(arect.bottom-arect.top-acanvas.textheight(text))div 2+arect.top,text);

endelse

if grid.cells[acoord.x,acoord.y].textalign= gacenterright then

begin

adefaultdraw := false;

acanvas.brush.color := agrid.cells[acoord.x,acoord.y].color;

acanvas.rectangle(arect);

acanvas.textrect(arect,arect.right-acanvas.textwidth(text),

(arect.bottom-arect.top-acanvas.textheight(text))div 2+arect.top,text);

end;

end;

SQLite 使用總結

跟mysql是有所區別的,自己用了幾天,總結如下 1 不能用mysql的分號 如 select count as count from ken content 而應該用自己打上去的分號 如 select count as count from ken content 2 主鍵一定要用 integer...

VI使用總結

一 進入和退出vi 進入 shell模式下,輸入vi filename或直接vi。退出 command模式下。退出不儲存檔案 使用者未改變檔案 q 強行退出不儲存檔案 q 退出並儲存檔案 wq 或 x 退出並強行儲存 針對只讀檔案 wq a 在游標後加字 a 在行尾加字 i 在游標處加字 i 在行首...

frameset使用總結

frameset元素是 frame 元素的容器。html 文件可包含frameset元素或 body 元素之一,而不能同時包含兩者。如果使用者在框架中開啟了 web 資料夾後單擊了 web 資料夾中的內容,那麼被單擊的檔案或資料夾將取代整個視窗。例如,假設頁面包含兩個框架,一個框架指向 第二個框架指...

static使用總結

static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種在c c 語言中使用,第三種只在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 一 static變數 1.靜態區域性變數 靜態區域性變數屬...

intent使用總結

1.指定act ion 和type sim imp ortintent imp ortintent new intent intent.act ion view importintent.settype vnd.android.cursor.item sim contact importintent...