- This topic has 26 replies, 4 voices, and was last updated 15 years, 6 months ago by plasticut.
-
AuthorPosts
-
May 13, 2009 at 11:47 am #39210GiuseppeParticipantMay 13, 2009 at 11:55 am #39212SupportKeymaster
While LookAndFeel technology is not used there, skinning is not possible.
Why you can't use TsProgressBar? Some specific features?May 13, 2009 at 11:58 am #39213GiuseppeParticipantMay 16, 2009 at 1:39 pm #39244plasticutParticipantПрорисовка прогрессбара нужна!
Т.к. в cxGrid его можно установить в роли редактора колонки.
В варианте который есть на данный моммент выглядит кривовато.AC:
[attachment=3263:acProgress.JPG]DX:
[attachment=3264:dxProgress.JPG]Буду весьма признателен если Вы добавите поддержку этого контрола!
May 18, 2009 at 7:42 am #39259SupportKeymasterMay 18, 2009 at 7:54 am #39261plasticutParticipantЕсть идеи как это сделать? Лук&фил ведь не поддерживается в нем?В классе TcxCustomLookAndFeelPainter методы
class procedure DrawProgressBarBorder(ACanvas: TcxCanvas; ARect: TRect; AVertical: Boolean); virtual;
class procedure DrawProgressBarChunk(ACanvas: TcxCanvas; ARect: TRect; AVertical: Boolean); virtual;
class function ProgressBarBorderSize(AVertical: Boolean): TRect; virtual;
class function ProgressBarTextColor: TColor; virtual;Версия dx .42
Могу вечерком их попробывать реализовать.
May 19, 2009 at 6:54 am #39305plasticutParticipantProgress bar painter modification for cxGrid
CODEclass procedure TcxACLookAndFeelPainter.DrawProgressBarChunk(ACanvas: TcxCanvas; ARect: TRect; AVertical: Boolean);
var
s: string;
si: integer;
b: TBitmap;
CI: TCacheInfo;
begin
if Skinned then
begin
if AVertical then s := s_ProgressV else s := s_ProgressH;
si := DefaultManager.GetSkinIndex(s);
b := CreateBmp24(WidthOf(ARect), HeightOf(ARect));
try
CI := MakeCacheInfo(<img src="style_emoticons//cool.gif” style=”vertical-align:middle” emoid=”:cool:” border=”0″ alt=”cool.gif” />;
PaintItem(si, s, ci, True, 0, aRect, Point(0, 0), b.Canvas.Handle, DefaultManager);
BitBlt(ACanvas.Handle, aRect.Left, aRect.Top, b.Width, b.Height, b.Canvas.Handle, 0, 0, SRCCOPY);
finally
b.Free
end;
end
else inherited;
end;Для сетки вроде хватает и этого метода, а для контрола нужно еще бордеры перирисовать…
-
AuthorPosts
- You must be logged in to reply to this topic.