Einzelnen Beitrag anzeigen

EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#16

AW: Fastreport, mehrsprachige Reports

  Alt 15. Feb 2013, 22:26
...letztendlich über ein form, welche mittels hotkey aufgerufen kann und ein Memdataset in form eines Grids darstellt.
als zB über einen timer und GetASyncKeystate, formStyle StayOnTop
Ich habe den Designer ein wenig erweitert.
Mit folgendem Code füge ich meine Konstanten in einer Combobox in der Toolbar des Designers ein.
Ob alles funktioniert muss ich aber noch Testen.
Angezeigt wird die Combobox mit den Konstanzen schon.
Delphi-Quellcode:
var
   designer: TfrxDesignerForm;
   myDesigner: TfrxCustomDesigner;
   cbb2: TComboBox;
   tlb2: TToolBar;
begin
  myDesigner := TfrxCustomDesigner(frxDesignerClass.NewInstance);
  myDesigner.CreateDesigner(nil, frxReport);
  frxReport.Designer := MyDesigner;

  designer := TfrxDesignerForm(frxReport.Designer);
  cbb2 := TComboBox.Create(Self);
  tlb2 := TToolBar.create(self);
  tlb2.Parent:= Designer.DockTop;

  cbb2.Parent := tlb2;
  cbb2.Items.Add('Anzahl');
  cbb2.Items.Add('Ausfuehrung');
  cbb2.Items.Add('Box');
  cbb2.Items.Add('Breite');
  cbb2.Items.Add('Durchmesser');
  cbb2.Items.Add('Waage');
  Designer.Showmodal;
und mit folgendem Code kann man einen weitern Tab im Databaum hinzufügen und die Konstanten z.B in einer Listbox anzeigen
Delphi-Quellcode:
  lb_Constanten := TListBox.Create(self);
  Pn_Constanten := TPanel.Create(Self);
  Designer.Show;
  for x := 0 to Designer.DataTree.ControlCount - 1 do
    begin
      myClassname := Designer.DataTree.Controls[x].ClassType.ClassName;
      if myClassname = 'TTabSetthen
        begin
          MyTabs := TTabSet(Designer.DataTree.Controls[x]);
          Break;
        end;
    end;
  Pn_Constanten.parent := Designer.DataTree.DataPn.parent;
  Pn_Constanten.Align := Designer.DataTree.DataPn.Align;
  Pn_Constanten.BoundsRect := Designer.DataTree.DataPn.BoundsRect ;
  Pn_Constanten.Visible := False;
  lb_Constanten.Parent := Pn_Constanten;
  MyTabs.Tabs.AddObject('TransLations', Pn_Constanten);
  lb_Constanten.Items := cbb2.Items;
  lb_Constanten.Align := alClient;
  Designer.DataTree.UpdateItems;
Ist alles noch nicht perfekt aber der Ansatz gefällt mit gut

Jetzt möchte ich natürlich noch die Translate Funktion per doppelklick auf die Combobox oder Listbox in die Memos schreiben.
Hat da jemand einen Tipp?

Geändert von EarlyBird (15. Feb 2013 um 22:47 Uhr)
  Mit Zitat antworten Zitat