Autor Thema: Per Agent ein Symbol in die Symbolleiste setzen  (Gelesen 1909 mal)

Offline rambrand

  • Senior Mitglied
  • ****
  • Beiträge: 469
  • Geschlecht: Männlich
Per Agent ein Symbol in die Symbolleiste setzen
« am: 08.11.13 - 11:12:25 »
Hallo,

ich such mir grad wieder mal einen Wolf im Internet zu einem Problem. Jetzt muss ich doch mal fragen.

Folgendes habe ich vor:
Ich will ein Symbol in eine bestehende Symbolleiste (Bearbeiten) erstellen. Dies soll mittels eines Agenten passieren.
Ich finde aber weder ein Beispiel in LotusScript noch eines in Formelsprache, wie man das bewerkstelligt.

Hat jemand einen Tipp, wonach ich suchen muss, oder sogar ein Beispiel parat?

Danke schonmal.

Bye,
Markus
Domino/Notes ab 4.6 aktuell 10.1FP3
Traveler 10.0.1FP1
PHP-Entwickler
Domino/Notes-Entwickler (Hobby)
Consultant (Informationssicherheit & Datenschutz)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Per Agent ein Symbol in die Symbolleiste setzen
« Antwort #1 am: 08.11.13 - 11:30:35 »
Die Smarticons sind Outlines.
Du musst dir einmal eine Toolbar und ein (oder mehrere) Icons erstellen.
Dann öffnest du die "bookmark.nsf" im Designer und kopierst dir unter "DesignerToolbar" (oder wo du es erstellt hast) den OutlineEntry für die Toolbar in eine neue Outline in deiner DB (im Beispielcode: 'parent')
Dann machst du das Selbe noch für das Icon und kopierst dieses ebenfalls in eine eigene Outline (='entry')

In deiner Ziel-DB hast du dann 2 Outlines ("parent" und "entry") mit je einem Eintrag.

Diese kannst du dann wie Folgt in eine bookmark.nsf kopieren (Logik, ob der Eintrag schon vorhanden ist, fehlt unten!)
Code
Set boutl =  bookmarkDB.GetOutline("DesignerToolbar")
Set toutl = thisDb.GetOutline("parent") ' = Name der Toolbar
Set srce = toutl.GetFirst()
Set parnt = boutl.CreateEntryFrom(srce) ' Haupteintrag (=Toolbar) in der bookmark erstellen
Set toutl = thisDb.GetOutline("entry") ' = Icon
Set srce = toutl.GetFirst()
Set entry = boutl.CreateEntryFrom(srce,parnt,True,True) ' Unter dem Haupteintrag das Symbol anhängen
Call boutl.Save()

WICHTIG: Man darf die Entries nur kopieren, keinesfalls im Designer irgendwelche Eigenschaften ändern, da sie sonst nicht mehr funktionieren. Man muss dann i.d.R. Notes neu starten oder etwas an der Symbolleiste ändern,  damit das Icon angezeigt wird

ggf nochmal nach "lotusscript smarticon NotesOutlineEntry" googlen

Gruß
Roland

« Letzte Änderung: 08.11.13 - 11:32:10 von pram »
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline shiraz

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 648
  • Geschlecht: Männlich
Gruß
Christian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz