AbverSoft

Forum Replies Created

Viewing 13 posts - 21 through 33 (of 33 total)
  • Author
    Posts
  • in reply to: Проблемы стороними компонентами #43612
    AbverSoft
    Participant
    'Support' wrote:

    Я уже посмотрел оригинальный Exe и понял суть проблемы.

    Каким образом подключаются AlphaSkins к DevExpress? Изменяется sDefs.inc?

    В sDefs.inc вкл. cxGrid скинится а вот c контролами где используется ButtonGluph возникают проблемы.

    Кстати в acLFPainter ругается DrawSizeGrip()override и DrawEditorButton()override, пришлось заменить override на virtual.

    Посмотрел ваш пример у вас все нормально.

    Может подскажете какая процедура в acLFPainter отвечает за прорисовку ButtonGluph

    in reply to: Проблемы стороними компонентами #43610
    AbverSoft
    Participant
    'Support' wrote:

    Сорри,я не посмотрел оригинальный Exe, а запускал проект из Delphi. Здесь приаттачен мой Exe (DevEx v6.53, AC v7)

    Такое ощущение, что Ваш Exe плохо собрался, не оставалось ли файлов от предыдущих версий случайно?

    Патч не используется в DevEx? Или ключ DEVEX используется?

    Как понять Патч не используется в DevEx? Или ключ DEVEX используется?

    Еще раз высылаю ехе (DevEx v6.53, AC v7.2 D7)

    in reply to: Проблемы стороними компонентами #43608
    AbverSoft
    Participant

    к сожалению такое происходит на всех скинах. И еще, заметил что cxSpinEdit то же невидно стрелок т.е выбора значения

    in reply to: Проблемы стороними компонентами #43605
    AbverSoft
    Participant

    По просьбе выкладываю пример с cxControl

    in reply to: Проблемы стороними компонентами #43594
    AbverSoft
    Participant

    В FR4 заметил еще одну проблему. Если sSkinManeger вкл FormHide то формы созданные в FR 4 закрываются очень медлено, при выкл FormHide все нормально

    in reply to: Проблемы стороними компонентами #43578
    AbverSoft
    Participant

    DevEx 6.52 – 6.53.

    На всех контролах где есть выбор списка т.е cxComboBox и т.д

    in reply to: Проблема с DevExpress #43146
    AbverSoft
    Participant

    QUOTE (Support @ Aug 6 2010, 11:55 AM) <{POST_SNAPBACK}>
    Будет исправлена сама процедура SkinManager.GetActiveEditFontColor, там будет тоже браться цвет из 'EDIT'
    in reply to: Проблема с DevExpress #43113
    AbverSoft
    Participant

    Понял по поводу acLFPainter.
    Тогда как сделать так чтоб cxTreeList(рис 1) смотрелся как VertualTreeView(рис 2)

    procedure TFrmMoveToUrl.cxTL2CustomDrawIndentCell(Sender: TObject;
    ACanvas: TcxCanvas; AViewInfo: TcxTreeListIndentViewInfo; var ADone: Boolean);

    var
    i : integer;
    //рисуем +/-
    procedure InternalDrawExpandButtonSign(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean;
    AColor: TColor);
    var
    ASize, X, Y : Integer;
    begin
    with R do
    begin
    ASize := Right – Left – 2 * 2;
    X := (Left + Right) div 2;
    Y := (Top + Bottom) div 2;
    end;
    ACanvas.Brush.Color := AColor;
    ACanvas.FillRect(Rect(X – ASize div 2, Y, X + ASize div 2 + 1, Y + 1));
    if not AExpanded then
    ACanvas.FillRect(Rect(X, Y – ASize div 2, X + 1, Y + ASize div 2 + 1));
    end;
    //рисуем квадрат
    procedure InternalDrawExpandButton(ACanvas: TcxCanvas; R: TRect; AExpanded: Boolean; AColor:
    TColor = clDefault);
    begin
    //
    ACanvas.Brush.Color := AColor;
    ACanvas.FillRect(cxRect(R.Left, R.Top, R.Right, R.Bottom));
    //ôîí ïîä êâàäðàòîì
    ACanvas.Brush.Color := MixColors(FrmMain.sSkinManager1.GetActiveEditColor,
    FrmMain.sSkinManager1.GetGlobalColor, 0.5);
    ACanvas.FillRect(cxRect(R.Left + 1, R.Top + 1, R.Right – 1, R.Bottom – 1));
    //
    InternalDrawExpandButtonSign(ACanvas, R, AExpanded, FrmMain.sSkinManager1.gd. FontColor[1]);
    end;
    //рисуем линии
    procedure DrawTreeLines;
    begin
    with AViewInfo do
    begin
    if TcxTreeList(Sender).OptionsView.TreeLineStyle = tllsDot then
    begin
    if [tltVertUp, tltVertDown] * TreeLines <> [] then
    cxFillHalfToneRect(ACanvas.Canvas, VertTreeLine, ViewParams.Color,
    FrmMain.sSkinManager1.gd
    . FontColor[1]);
    if tltHorz in TreeLines then
    cxFillHalfToneRect(ACanvas.Canvas, HorzTreeLine, ViewParams.Color,
    FrmMain.sSkinManager1.gd
    . FontColor[1]);
    end
    else
    begin
    ACanvas.Brush.Color := FrmMain.sSkinManager1.gd
    . FontColor[1];
    if [tltVertUp, tltVertDown] * TreeLines <> [] then
    ACanvas.FillRect(VertTreeLine);
    if tltHorz in TreeLines then
    ACanvas.FillRect(HorzTreeLine);
    end;
    end;
    end;

    begin
    i := FrmMain.sSkinManager1.GetSkinIndex(s_Edit);
    // íàçíà÷èòü øðèôò ïî óìîë÷àíèþ è íàñòðîéêè öâåòà
    cxApplyViewParams(ACanvas, AViewInfo.ViewParams);
    // çàäàòü îòñòóï öâåò ÿ÷åéêè
    ACanvas.Brush.Color := MixColors(FrmMain.sSkinManager1.GetActiveEditColor,
    FrmMain.sSkinManager1.GetGlobalColor, 0.5);
    // îòñòóï cells
    ACanvas.FillRect(AViewInfo.VisibleRect);
    DrawTreeLines;
    if (AViewInfo.HasButton) then
    begin
    //
    InternalDrawExpandButton(ACanvas, AViewInfo.ButtonRect, AViewInfo.Node.Expanded,
    FrmMain.sSkinManager1.gd
    . FontColor[1]);
    end;
    //
    ADone := True;

    end;

    И еще в Footer на темных скинах не видно надписи, в acLFPainter подправил так

    class function TcxACLookAndFeelPainter.DefaultFooterTextColor: TColor;
    var
    i:Integer;
    begin
    if Skinned then
    begin
    //Result := DefaultManager.GetActiveEditFontColor;
    i := DefaultManager.GetSkinIndex(s_Edit);
    if DefaultManager.IsValidSkinIndex(i) then Result := DefaultManager.gd.FontColor[1];
    end

    else Result := inherited DefaultFooterTextColor
    end;

    Если не трудно исправти

    in reply to: Проблема с DevExpress #43089
    AbverSoft
    Participant

    QUOTE (AbverSoft @ Aug 2 2010, 05:28 PM) <{POST_SNAPBACK}>
    Если я правильно понял то надо самому производить от рисовку раскрытия дерева (+ -). Тогда вопрос, а какой командой надо использоваться чтобы при смене скина происходило изменение цвета (+-).
    В VertualTreeView таких ведь проблем нет как в cxTreeList.

    Сам тут немного ручками по манипулировал и вот что из этого получилось

    procedure TFrmMain.cxTL2CustomDrawIndentCell(Sender: TObject;
    ACanvas: TcxCanvas; AViewInfo: TcxTreeListIndentViewInfo;
    var ADone: Boolean);

    procedure InternalDrawExpandButtonSign(ACanvas: TcxCanvas; const R: TRect; AExpanded: Boolean; AColor: TColor);
    var
    ASize, X, Y: Integer;
    begin
    with R do
    begin
    ASize := Right – Left – 2 * 2;
    X := (Left + Right) div 2;
    Y := (Top + Bottom) div 2;
    end;
    ACanvas.Brush.Color := AColor;
    ACanvas.FillRect(Rect(X – ASize div 2, Y, X + ASize div 2 + 1, Y + 1));
    if not AExpanded then
    ACanvas.FillRect(Rect(X, Y – ASize div 2, X + 1, Y + ASize div 2 + 1));
    end;

    procedure InternalDrawExpandButton (ACanvas: TcxCanvas; R: TRect; AExpanded: Boolean; AColor: TColor = clDefault);
    begin
    ACanvas.Brush.Color := AColor;
    ACanvas.FillRect(cxRect(R.Left-1, R.Top-1, R.Right+1, R.Bottom+1));
    ACanvas.Brush.Color := MixColors(sSkinManager1.GetActiveEditColor, sSkinManager1.GetGlobalColor, 0.5);
    ACanvas.FillRect(cxRect(R.Left, R.Top, R.Right, R.Bottom));
    InternalDrawExpandButtonSign(ACanvas, R, AExpanded, sSkinManager1.GetGlobalFontColor{clBtnText});
    end;

    procedure DrawTreeLines;
    begin
    with AViewInfo do
    begin
    if TcxTreeList(Sender).OptionsView.TreeLineStyle = tllsDot then
    begin
    if [tltVertUp, tltVertDown] * TreeLines <> [] then
    cxFillHalfToneRect(ACanvas.Canvas, VertTreeLine, ViewParams.Color,
    sSkinManager1.GetGlobalFontColor);
    if tltHorz in TreeLines then
    cxFillHalfToneRect(ACanvas.Canvas, HorzTreeLine, ViewParams.Color,
    sSkinManager1.GetGlobalFontColor);
    end
    else
    begin
    ACanvas.Brush.Color := sSkinManager1.GetGlobalFontColor;
    if [tltVertUp, tltVertDown] * TreeLines <> [] then
    ACanvas.FillRect(VertTreeLine);
    if tltHorz in TreeLines then
    ACanvas.FillRect(HorzTreeLine);
    end;
    end;
    end;

    begin

    cxApplyViewParams (ACanvas, AViewInfo.ViewParams);

    ACanvas.Brush.Color := MixColors(sSkinManager1.GetActiveEditColor, sSkinManager1.GetGlobalColor, 0.5);

    ACanvas.FillRect(AViewInfo.VisibleRect);
    DrawTreeLines;
    if (AViewInfo.HasButton) then
    begin
    InternalDrawExpandButton(ACanvas, AViewInfo.ButtonRect, AViewInfo.Node.Expanded, sSkinManager1.GetGlobalFontColor);
    end;
    ADone := True;
    end;

    Единственно что на нескольких скинах не очень смотрится.
    Вопрос А как его теперь перенести в юнит acLFPainter

    in reply to: Проблема с DevExpress #43080
    AbverSoft
    Participant

    QUOTE (Support @ Aug 2 2010, 04:03 PM) <{POST_SNAPBACK}>
    Цвет полос? Не знаю просто как его изменить.


    Если я правильно понял то надо самому производить от рисовку раскрытия дерева (+ -). Тогда вопрос, а какой командой надо использоваться чтобы при смене скина происходило изменение цвета (+-).
    В VertualTreeView таких ведь проблем нет как в cxTreeList.

    in reply to: Проблема с TSavePictureDialog #43049
    AbverSoft
    Participant

    QUOTE (AbverSoft @ Jul 30 2010, 12:27 AM) <{POST_SNAPBACK}>
    Здравствуйте!
    Мне надо сохранить рисунок через TSavePictureDialog в результате в юните acSBUtils процедура procedure UninitializeACScroll(Handle : hwnd; FreeSW : boolean; Repaint : boolean; var ListSW : TacScrollWnd); выдает ошибку и нет возможности сохранить рисунок. Версия AC 7.02

    Спасибо в 7.03 ошибка устранена

    in reply to: Проблема с DevExpress #43048
    AbverSoft
    Participant

    QUOTE (AbverSoft @ Jul 30 2010, 12:33 AM) <{POST_SNAPBACK}>
    Здравствуйте!
    В бета версии АС 7.02 – на некоторых скинах пропадают буквы в Gride . Также Выделение становится прозрачным.
    И еще ребята вы немогли бы сделать так чтобы на темных скинах хорошо бы виднелся в cxTreeList раскрытие дерева т.е +

    В 7.03 нормально стал отображаться выделение грида. А в cxTreeList так остался без изменение.

    in reply to: Не устанавливается AlphaDB #38636
    AbverSoft
    Participant

    Спасибо разобрался.
    Пришлось удалить старую версию, при компеляции проявлялась другая ошибка, т.е AlphaDB ругался что неможет прокомпилировать т.к в IDE присуствуют такие же компоненты. Пришлось немного по эксперементировать т.е удалил acntd7_r, после таких эксперементов заработало.

Viewing 13 posts - 21 through 33 (of 33 total)