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...