Хотелки

отредактировано 05:49 Раздел: FastReport 3.0
Во превых очень бы хотелось.
когда открываешь окно диалога выражение
чтобы сохранялись таб ордеры и где ты последний раз был.
а то приходится открывать закладку закрывать деревья для запросов
находить нужный в котором ты был.
встаем на следующий элемент и все повторяется снова.

в окне редактора текста Drog drag если бы работал из дерева данных.
Но окно открывается модально.

Комментарии

  • отредактировано September 2004
    Выравнивание эелементов на бенде.
    кликаете в бедн жмете кнопку выравнить в лево все елементы вырвниваются. как в 2.


    function TfrxDesignerForm.IsBandsSelect(var Value: TfrxComponent): Boolean;
    var
    i: Integer;
    begin
    Result := False;
    Value := nil;
    for i := 0 to SelectedObjects.Count - 1 do
    if TObject(SelectedObjects) is TfrxBand then
    begin
    Value := SelectedObjects;
    Result := True;
    break;
    end;
    end;




    procedure TfrxDesignerForm.AlignLeftsBClick(Sender: TObject);
    var
    i: Integer;
    c0, c: TfrxComponent;
    //kkkkk start
    i1: Integer;
    Lobj :array of TStringList;
    bAdd : Boolean;
    FLMargin :Integer;
    t, t1: TfrxComponent;
    x, y: Extended;
    band: TfrxComponent;
    begin

    //kkkk
    // BeforeChange;
    if IsBandsSelect(band) then
    begin
    SetLength(Lobj, 1);
    I := Low(Lobj);
    Lobj := TStringList.Create;
    Lobj.Sorted := True;
    Lobj.Duplicates := dupAccept;

    for i := 0 to Objects.Count - 1 do
    begin
    t := Objects;
    if (t.AbsTop >= band.AbsTop) and (t.AbsTop + t.Height <= band.AbsTop + band.Height) and
    // (t.Typ <> gtBand) then
    // ( t.ClassType <> TfrxBand) then
    ( Not( t is TfrxBand)) then

    begin
    bAdd:= False;
    for I1 := Low(Lobj) to High(Lobj) do
    begin
    if Lobj[i1].Count <= 0 then
    continue;
    t1 := TfrxView(Lobj[i1].Objects[0] );
    if ((t.AbsTop < t1.AbsTop+t1.Height) and (t.AbsTop >= t1.AbsTop) ) OR
    ((t.AbsTop+t.Height < t1.AbsTop+t1.Height) and (t.AbsTop+t.Height > t1.AbsTop) ) then
    begin
    Lobj[i1].AddObject(Format('%4.4f', [t.Left]), t);
    bAdd:= True;
    break;
    end;
    end;
    if (Not bAdd) then
    begin
    if High(Lobj) = Low(Lobj) then
    i1 := Low(Lobj) else i1 := High(Lobj)-1;
    if (Lobj[i1].Count = 0) then
    begin
    Lobj[i1].AddObject(Format('%4.4f', [t.Left]), t);
    bAdd:= True;
    end
    end;
    if Not bAdd then
    begin
    i1:= High(Lobj)+1;
    SetLength(Lobj, i1+1);
    Lobj[i1] := TStringList.Create;
    Lobj[i1].Sorted := True;
    Lobj[i1].Duplicates := dupAccept;
    Lobj[i1].AddObject(Format('%4.4f', [t.Left]), t);
    end;
    end;
    end;

    for I1 := Low(Lobj) to High(Lobj) do
    begin
    if Lobj[i1].Count <= 0 then
    continue;
    t := TfrxView(Lobj[i1].Objects[0]);
    x:= TfrxReportPage(FPage).LeftMargin;
    // x:= FLMargin;
    y:= t.Top;
    for i := 0 to Lobj[i1].Count - 1 do
    begin
    t := TfrxView(Lobj[i1].Objects);
    // if (t.Restrictions and frrfDontMove) = 0 then
    if Not(rfDontModify in t.Restrictions ) then
    begin
    t.Left := x;
    t.Top := y;
    end;
    x := x + t.Width;
    end;
    end;

    for I := Low(Lobj) to High(Lobj) do
    Lobj.Free;
    SetLength(Lobj, 0);

    // PageView.GetMultipleSelected;
    // RedrawPage;
    Modified := True;
    Exit;

    end;



    if FSelectedObjects.Count < 2 then Exit;

    c0 := FSelectedObjects[0];
    for i := 1 to FSelectedObjects.Count - 1 do
    begin
    c := FSelectedObjects;
    if not (rfDontMove in c.Restrictions) then
    c.Left := c0.Left;
    end;

    Modified := True;
    end;

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.