锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美网站在线,欧美日韩色婷婷,国产精品美女午夜avhttp://www.shnenglu.com/zliner/category/1639.html鎶鏈涔?/description>zh-cnFri, 23 May 2008 08:18:39 GMTFri, 23 May 2008 08:18:39 GMT60cxGrid婧愪唬鐮佺粨鏋勫垎鏋愨厾(瑙嗗浘緇樺埗)http://www.shnenglu.com/zliner/articles/24165.html渚濇棫鐨勫崥瀹?/dc:creator>渚濇棫鐨勫崥瀹?/author>Tue, 15 May 2007 10:05:00 GMThttp://www.shnenglu.com/zliner/articles/24165.htmlhttp://www.shnenglu.com/zliner/comments/24165.htmlhttp://www.shnenglu.com/zliner/articles/24165.html#Feedback0http://www.shnenglu.com/zliner/comments/commentRss/24165.htmlhttp://www.shnenglu.com/zliner/services/trackbacks/24165.html瑙嗗浘鐢ㄦ潵琛ㄧ幇鏁版嵁錛屼篃鏄敤鎴鋒帴鍙c傚綋鏁版嵁鏇存柊鏃訛紝瑙嗗浘搴旇闅忎箣鏀瑰彉錛屽湪浜や簰榪囩▼涓紝瑙嗗浘闇瑕佸搷搴旂敤鎴鳳紝榪欎簺鎯呭喌涓嬮兘浼氬紩璧瘋鍥劇殑緇樺埗銆?/span> cxGrid鍙互鐢ㄥ縐嶈鍥捐〃鐜板叧緋誨瀷鏁版嵁錛屾渶甯哥敤鐨勬槸琛ㄦ牸瑙嗗浘錛屾垜浠互琛ㄦ牸瑙嗗浘浣滀負榛樿鐨勫璞★紝鍒嗘瀽cxGrid鐢ㄤ互瀹炵幇瑙嗗浘緇樺埗鐨勫熀鏈粨鏋勩?/span>

 

琛ㄦ牸瑙嗗浘鎸夎錛屽垪甯冨眬錛岃浼樺厛欏哄簭緇樺埗錛岀粯鍒剁殑鍩烘湰鍏冪礌鏄鍜屽崟鍏?/span>(cell)銆傜敱浜庢暟鎹唴瀹圭殑鍔ㄦ佹э紝琛屾槸鍔ㄦ佺敓鎴愮殑銆傝〃鏍艱鍥炬彁渚涗簡鍚勭鍙畾鍒舵э紝鍖呮嫭鍙夌殑鍒嗙粍琛岄鏍煎拰鑻ュ共鑷畾涔夐鏍鹼紝榪欎簺澶嶆潅鐗規ц儗鍚庢湁寰堝ソ鐨勮璁°?/span>

 

瑙嗗浘緇樺埗鐩稿叧鐨勫嚑緇勭被錛?/span>

 

ViewInfo綾繪棌錛?/span>

鎻忚堪瑙嗗浘鍏冪礌鐨勭粯鍒朵俊鎭紝瑙嗗浘鍏冪礌瑕佺粯鍒舵垚浠涔堟牱瀛愶紝瀹屽叏鐢卞叾ViewInfo紜畾銆傜鍏堢被鏄?/span>TcxCustomGridCellViewInfo錛屾暟鎹錛屾暟鎹崟鍏冿紝鍒嗙粍琛岀瓑瑙嗗浘鍏冪礌浠ュ強瑙嗗浘鏈韓閮芥湁鐩稿簲鐨勬淳鐢熺被銆?/span>

 

Painter綾繪棌錛?/span>

鎸夌収ViewInfo錛屽湪鐢誨竷涓婄粯鍒惰鍥懼厓绱犮傜鍏堢被鏄?/span>TcxCustomGridCellPainter銆?/span> TcxCustomGridCellPainter = class

 private

    FCanvas: TcxCanvas;

FViewInfo: TcxCustomGridCellViewInfo;

 

View綾繪棌錛?/span>

鏁翠釜瑙嗗浘鐨勬弿榪幫紝鍖呮嫭浜嗗悇縐嶈緗俊鎭傜鍏堟槸TcxCustomGridView銆?/span>

View鍜?/span>ViewInfo鐨勪笉鍚屽湪ViewInfo鎻忚堪緇樺埗淇℃伅錛岃?/span>View鎻忚堪璁劇疆淇℃伅錛?/span>ViewInfo鏄姩鎬佹瀯閫犵殑錛屽綋Grid鍒涘緩鏃訛紝濡傛灉鏈変竴涓垎緇勫鏉¤褰曪紝閭d箞姣忔潯璁板綍浼氱敓鎴愪竴涓?/span>ViewInfo瀹炰緥錛屽鏋滄敹璧峰垎緇勶紝榪欎簺瀹炰緥灝嗚閿姣侊紝灞曞紑鍒嗙粍錛屼細鍐嶆鐢熸垚姣忔潯璁板綍鐨?/span>ViewInfo瀹炰緥錛岃屼竴涓〃鏍艱鍥懼緇堝彧鏈変竴涓疄渚嬨?/span>

 

LookAndFeelPainter綾繪棌錛?/span>

鐢ㄤ簬榪涜鏈夊叧鍒嗙粍琛岄鏍肩殑緇樺埗銆傜鍏堟槸TcxCustomLookAndFeelPainter銆?/span>

緇樺埗瑙嗗浘鍏冪礌鏃訛紝娑夊強鍒板垎緇勮椋庢牸(GroupRowStyle)鐨勭粯鍒朵換鍔★紝閮借濮旀墭緇?/span>LookAndFeelPainter綾葷殑瀹炰緥錛岀敱姝ゅ疄鐜板鎬佺殑椋庢牸銆?/span>

 

Style鍜?/span>Styles綾繪棌錛?/span>

Style綾葷殑紲栧厛鏄?/span>TcxCustomStyle錛?/span>Styles綾葷殑紲栧厛鏄?/span>TcxCustomStyles銆?/span>TcxCustomStyle綾昏〃紺轟竴縐嶈嚜瀹氫箟椋庢牸錛?/span>TcxCustomStyles綾昏〃紺轟竴緇勯鏍箋?/span>TcxCustomStyles鍐呴儴鐢ㄤ竴涓?/span>map淇濆瓨榪欎簺椋庢牸錛岀粰鍑洪敭錛屽彲閫氳繃Values灞炴у彇鍑烘寚瀹氱殑椋庢牸銆?/span>

TcxCustomStyles = class(TcxInterfacedPersistent, IcxStyleChangeListener)

public

property Values[Index: Integer]: TcxCustomStyle read GetValue write SetValue;

閿殑鍙栧艱寖鍥村涓嬶細

 vsCustomTableFirst = vsCustomLast + 1;

 vsContent = vsCustomTableFirst;

 vsContentEven = vsCustomTableFirst + 1;

 vsContentOdd = vsCustomTableFirst + 2;

 vsFilterBox = vsCustomTableFirst + 3;

 vsInactive = vsCustomTableFirst + 4;

 vsIncSearch = vsCustomTableFirst + 5;

 vsSelection = vsCustomTableFirst + 6;

// vsCustomTableLast = vsSelection;

 vsHotTrack = vsCustomTableFirst + 7;

 vsCustomTableLast = vsHotTrack;

 

鑰冩煡浠ヤ笂鍑犵粍綾葷殑鍏崇郴錛?/span>

 

Painter鍜?/span>ViewInfo錛?/span>

 

Painter綾誨拰ViewInfo綾誨叿鏈夊搴斿叧緋伙紝鍦ㄨ鍥懼厓绱犵粯鍒舵椂鍒涘緩鍑?/span>Painter綾葷殑瀹炰緥錛屽叾涓湁澶氭佹満鍒剁殑浣滅敤錛屼笅闈㈠叿浣撲簡瑙d竴涓嬭繖涓垱寤鴻繃紼嬨?/span>

 

鍦?/span>TcxCustomGridCellPainter媧劇敓鐨勪竴緇勭被涓紝鍙湁瀹冭嚜宸辨湁鏋勯犲嚱鏁幫細

constructor TcxCustomGridCellPainter.Create(ACanvas: TcxCanvas;

 AViewInfo: TcxCustomGridCellViewInfo);

begin

 inherited Create;

 FCanvas := ACanvas;

 FViewInfo := AViewInfo;

end;

閭d箞褰撻渶瑕佽皟鐢ㄥ叾媧劇敓綾繪柟娉曟椂錛屾槸濡備綍鏋勯犲嚭媧劇敓綾誨疄渚嬬殑錛?/span>Painter綾誨疄渚嬮兘鏄湪ViewInfo綾葷殑鏂規硶涓垱寤哄嚭鏉ョ殑錛屼唬鐮佸涓嬶細

GetPainterClass.Create()

 

TcxGridDataRowViewInfo = class(TcxCustomGridRowViewInfo)

protected:

function GetPainterClass: TcxCustomGridCellPainterClass; override;

 

 

function TcxGridDataRowViewInfo.GetPainterClass: TcxCustomGridCellPainterClass;

begin

 Result := TcxGridDataRowPainter;

end;

 

榪欐牱錛屽垱寤哄摢涓?/span>Painter綾葷殑瀹炰緥鍐沖畾浜?/span>ViewInfo綾葷殑瀹炰緥錛岄氳繃鏌愪釜ViewInfo瀹炰緥璋冪敤GetPainterClass.Create()錛屽氨榪斿洖瀵瑰簲Painter綾葷殑瀹炰緥銆?/span>

 

ViewInfo綾昏繘琛岀粯鍒舵椂錛屼細璋冪敤Painter綾葷殑緇樺埗鏂規硶錛?/span>Painter綾昏繘琛岀粯鍒舵椂錛屼篃浼氳皟鐢?/span>ViewInfo綾葷殑緇樺埗鏂規硶錛屾瘮濡傦細

procedure TcxCustomGridRecordsPainter.Paint;

var

 I: Integer;

begin

 with FViewInfo do

    for I := 0 to Count - 1 do

      with Items[I] do

        if Calculated then Paint;

end;

璺熻釜緇樺埗榪囩▼鍙互鐪嬪埌錛屾鏄湪涓ょ璋冪敤鐨勪氦鏇夸腑緇樺嚭浜嗚鍥劇殑姣忎釜鍏冪礌錛屾渶緇堝湪鏄劇ず璁懼涓婄殑緇樺埗鏄敱Painter綾誨疄鐜扮殑錛岃?/span>ViewInfo鐨勭粯鍒舵柟娉曚細璧峰埌璋冨害鐨勪綔鐢紝姣斿鎶婃暟鎹鐨勭粯鍒跺垎瑙f垚鍚勬暟鎹崟鍏冪殑緇樺埗銆?/span>

鎴戜滑宸茬粡浜嗚В鍒幫紝鍓嶄竴縐嶈皟鐢ㄦ槸閫氳繃鏋勯犲眬閮ㄥ疄渚嬶紝閭d箞鍚庝竴縐嶅憿?

TcxCustomGridCellPainter涓畾涔変簡FViewInfo縐佹湁鎴愬憳錛屽茍灝嗗叾瀹氫箟涓轟繚鎶ゅ睘鎬?/span>

 TcxCustomGridCellPainter = class

 private

    FCanvas: TcxCanvas;

FViewInfo: TcxCustomGridCellViewInfo;

 protected

property ViewInfo: TcxCustomGridCellViewInfo read FViewInfo;

鍏舵淳鐢熺被緇ф壙浜嗚灞炴э紝騫跺皢鍏墮噸鏂板畾涔?/span>

 TcxGridDataRowPainter = class(TcxCustomGridRowPainter)

 private

    function GetViewInfo: TcxGridDataRowViewInfo;

 protected

    property ViewInfo: TcxGridDataRowViewInfo read GetViewInfo;

 

function TcxGridDataRowPainter.GetViewInfo: TcxGridDataRowViewInfo;

begin

 Result := TcxGridDataRowViewInfo(inherited ViewInfo);

end;

 

View鍜?/span>Styles錛?/span>

 

瑙嗗浘椋庢牸鏄鍥劇殑灞炴э細

 TcxCustomGridView = class(TcxControlChildComponent, IcxStoredObject, IcxStoredParent,

    IcxGridViewLayoutEditorSupport, IcxGridViewDesignerMenu)

 private

FStyles: TcxCustomGridStyles;

 Protected:

property Styles: TcxCustomGridStyles read FStyles write SetStyles;

 

procedure TcxCustomGridView.SetStyles(Value: TcxCustomGridStyles);

begin

 FStyles.Assign(Value);

end;

 

鐗瑰畾鐨勮鍥句嬌鐢ㄧ壒瀹氱殑瑙嗗浘椋庢牸錛屼互琛ㄨ鍥句負渚嬶紝鍙互鐪嬪埌涓よ呮槸濡備綍瀵瑰簲鐨勩?/span>

TcxGridTableView = class(TcxCustomGridTableView)

Published:

property Styles: TcxGridTableViewStyles read GetStyles write SetStyles;

 

function TcxGridTableView.GetStyles: TcxGridTableViewStyles;

begin

 Result := TcxGridTableViewStyles(inherited Styles);

end;

 

procedure TcxGridTableView.SetStyles(Value: TcxGridTableViewStyles);

begin

 inherited Styles := Value;

end;

 

View鍜?/span>LookAndFeelPainter錛?/span>

 

ViewInfo錛?/span>GridStyles鍜?/span>GridView綾婚兘鏈?/span>LookAndFeelPainter灞炴э紝鍥犱負鍒嗙粍琛岄鏍艱緗槸浣滅敤浜庢暣涓鍥劇殑錛屾墍浠ヨ灞炴х湡姝e畾涔夋槸鍦?/span>GridView涓紝GridStyles鍜?/span>ViewInfo鍙槸榪斿洖涓涓紩鐢紝鎻愪緵璇ュ睘鎬ф槸涓轟簡鏂逛究錛屾瘮濡?/span>ViewInfo榪涜緇樺埗鏃訛紝瑕佺敤鍒伴鏍肩殑璁劇疆銆?/span>

function TcxCustomGridView.GetLookAndFeelPainter: TcxCustomLookAndFeelPainterClass;

begin

 if Control = nil then

    Result := TcxStandardLookAndFeelPainter

 else

    Result := TcxCustomGrid(Control).LookAndFeelPainter;

end;

 

function TcxCustomGridStyles.GetLookAndFeelPainter: TcxCustomLookAndFeelPainterClass;

begin

 Result := GridView.LookAndFeelPainter;

end;

 

/* TcxGridViewHandler鏄鍥?/span>ViewInfo鐨勭鍏堢被銆?/span>*/

function TcxGridViewHandler.GetLookAndFeelPainter: TcxCustomLookAndFeelPainterClass;

begin

 Result := FGridView.LookAndFeelPainter;

end;

 

/* TcxCustomGridViewCellViewInfo鏄鍥懼厓绱?/span>ViewInfo鐨勭鍏堢被錛?/span>FGridViewInfo鏄?/span>GridViewInfo灞炴х殑鎴愬憳鍙橀噺銆?/span>*/

function TcxCustomGridViewCellViewInfo.GetLookAndFeelPainter: TcxCustomLookAndFeelPainterClass;

begin

 Result := FGridViewInfo.LookAndFeelPainter;

end;



]]>
久久噜噜久久久精品66| 久久99国产精品二区不卡| 亚洲国产精品综合久久网络 | 91精品国产91久久久久久青草| 久久91亚洲人成电影网站| 久久青青草原精品国产不卡| 久久无码中文字幕东京热| 国产精品一久久香蕉产线看 | 亚洲欧美成人久久综合中文网| 一本色道久久88精品综合| 国产精品无码久久四虎| 亚洲国产精品无码久久| 国产高清国内精品福利99久久| 亚洲va久久久久| 国产精品成人99久久久久| 午夜欧美精品久久久久久久| 久久久精品人妻无码专区不卡| 久久夜色精品国产欧美乱| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 久久久无码精品午夜| 久久综合九色综合欧美狠狠| A级毛片无码久久精品免费| 国产—久久香蕉国产线看观看| 狠狠狠色丁香婷婷综合久久五月| 99精品国产综合久久久久五月天| 久久国产成人| 久久久91人妻无码精品蜜桃HD| 久久99国产精品久久99果冻传媒| 国产亚洲综合久久系列| 伊人久久大香线蕉av一区| 中文字幕精品久久久久人妻| 久久久久国产成人精品亚洲午夜| 久久精品国产99国产精偷| 亚洲成色WWW久久网站| 亚洲AV无码久久精品成人| 午夜久久久久久禁播电影| 久久久精品2019免费观看| 国内精品人妻无码久久久影院| 久久精品国产亚洲AV无码偷窥| 国产精品久久久久久福利69堂| 久久综合丁香激情久久|