Topic
benutzerdefinierte Schaltfläche
Startseite ' Community ' Automation and VBA ' benutzerdefinierte Schaltfläche
- Dieses Thema hat 12 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 17 Jahren, 3 Monaten von Mustapha Ghazzouz aktualisiert.
-
AutorBeiträge
-
20.02.2008 um 00:18 Uhr #34846Mustapha GhazzouzTeilnehmer
Hallo,
Für meinen benutzerdefinierten Export-Filter habe ich eine benutzerdefinierte Schaltfläche erstellt und dieser eine Export-Makro zugeordet. Wie soll ich vorgehen, damit auch diese benutzerdefinierte Schaltfläche ( evtl. inklusive entsprechender Zuordung zu Makro ) auch in einem neuen System zu sehen ist? Einfach die Template.FPT in den neuen System zu kopieren reicht leider nicht. Was ist mit den Verweisen im VBA-Editor, werden sie auch mitkopiert?
Danke
20.02.2008 um 00:18 Uhr #34858Mustapha GhazzouzTeilnehmerHallo,
Für meinen benutzerdefinierten Export-Filter habe ich eine benutzerdefinierte Schaltfläche erstellt und dieser eine Export-Makro zugeordet. Wie soll ich vorgehen, damit auch diese benutzerdefinierte Schaltfläche ( evtl. inklusive entsprechender Zuordung zu Makro ) auch in einem neuen System zu sehen ist? Einfach die Template.FPT in den neuen System zu kopieren reicht leider nicht. Was ist mit den Verweisen im VBA-Editor, werden sie auch mitkopiert?
Danke
20.02.2008 um 01:01 Uhr #34847Bernhard KantzTeilnehmerThe user-defined menu bars and command bars are saved in the user profile. The references are saved in the local, global template database or in the FlexPro database.
In VBA you can add a new command bar. See fpuiob7.chm. You could call this macro if you open a FlexPro database. For this you can use the auto macro [b]AutoOpen[/b] or [b]AutoExec[/b].
Moreover you can add the references using VBE.
21.02.2008 um 20:53 Uhr #34848Mustapha GhazzouzTeilnehmerBeim Kopieren des UserProfiles werden alle Einstellungen übertragen, ich möchte aber, dass nur die beiden Imp- und Export-Buttons beim neuen Anwender sichtbar werden.
Also in VBA konnte ich eine Symbolleiste mit zwei Buttons (Imp-/Export) hinzufügen und diese mithilfe der OnAction()-Eigenschaft mit selbsterstellten Makros verbinden. Für diese zwei Buttons habe zwei icons slebst erstellt. Ich weiss aber nich, wie ich diese icons programmatisch setze.. geht das? Auch beim Kopieren des UserProfiles werden diese Icons nicht mitkopiert; im neuen System sehe ich also nur zwei leere Buttons.
Hoffe Sie vertehen was ich meine..
Danke22.02.2008 um 01:18 Uhr #34849Mustapha GhazzouzTeilnehmerIch habe gerade das Picture-Eigenschaft Beispiel gefunden und denke das ist das was ich brauche.
Ich habe es probiert aber irgendwie bekomme ich wieder nur ein Leeres CommandBar, sonst nichts. Also weiss nicht warum folgendes Code nicht funktioniert
[code]
‘ Benutzerdefinierte sdf Im- und Export Schaltflächen
Dim aCmdBar As CommandBar
Set aCmdBar = CommandBars.Add(Name:=”Imp-Exp-CommandBar”, _
Position:=fpBarPositionTop, Temporary:=True)
aCmdBar.Visible = True‘————————————————————
Dim ExpBtn As CommandBarControl
Set ExpBtn = aCmdBar.Controls.Add(Type:=fpControlTypeButton, _
Id:=”exportButton”)
ExpBtn.OnAction = “PersonalTemplateDatabase!ExportMakro”Dim ImpBtn As CommandBarControl
Set ImpBtn = aCmdBar.Controls.Add(Type:=fpControlTypeButton, _
Id:=”importButton”)
ImpBtn.OnAction = “PersonalTemplateDatabase!ImportMakro”Dim picExp As IPictureDisp
Dim picImp As IPictureDispSet picExp = stdole.StdFunctions.LoadPicture(“C:Picsicon-export.bmp”)
Set picImp = stdole.StdFunctions.LoadPicture(“C:Picsicon-import.bmp”)CommandBars.FindControl(Type:=fpControlTypeButton, Id:=”exportButton”).Picture = picExp
CommandBars.FindControl(Type:=fpControlTypeButton, Id:=”importButton”).Picture = picImp
[/code]22.02.2008 um 03:31 Uhr #34850Bernhard KantzTeilnehmerThe user-defined pictures are saved in the file “UserImages.bmp”.
You can create a CommandBarButton with a picture in VBA:
[code]
Dim aCmdBar As CommandBar
Set aCmdBar = CommandBars.Add(Name:=”Test”, Position:=fpBarPositionTop, Temporary:=True)
aCmdBar.Visible = TrueDim ImpBtn As CommandBarControl
Set ImpBtn = aCmdBar.Controls.Add(Type:=fpControlTypeButton)Dim picImp As IPictureDisp
Set picExp = stdole.StdFunctions.LoadPicture(“c:tempuserimage.bmp”)
ImpBtn.Picture = picExp
[/code]07.03.2008 um 01:17 Uhr #34851Mustapha GhazzouzTeilnehmerHallo,
Ich hätte noch zwei Fragen.
1. In einer Makro füge ich eine CommandBar hinzu. Darin erstelle ich zwei selbstdefinierte Buttons mit eigenen Bilder (.Picture). Die Makro rufe ich über einen Script (VBscript). Alles läuft gut, ich kann meine Buttons sehen und die Bilder auch. Sobald aber ich den Maus über den Buttons bewege verschwinden die eigenen Bilder und tauchen stattdessen Standard-Bilder aus den userImages.
2. Wie kann ich meine zwei Button aktivieren/deaktivieren abhängig davon, ob schon eine Datenbank offen ist.
Danke im vorraus
07.03.2008 um 22:25 Uhr #34852Mustapha GhazzouzTeilnehmerAlso ich weiss immer noch nicht, wie ich meine Icons in den neuen Buttons bekomme.
Ich habe bemerkt, dass folgendes Code immer den [b]ersten[/b] Icon in userImages.bmp durch meinen Icon ersetzt und somit bekomme ich immer den gelichen Icon für die zwei Buttons.
[code] Set picImp = stdole.StdFunctions.LoadPicture(“icon-import.bmp”)
myCmdBar.FindControl(Type:=fpControlTypeButton, Id:=1, Tag:=”My Import Button”).Picture = picImp[/code]
[code] Set picExp = stdole.StdFunctions.LoadPicture(“icon-export.bmp”) ‘”icon-export.bmp”)
myCmdBar.FindControl(Type:=fpControlTypeButton, Id:=1, Tag:=”My Export Button”).Picture = picExp
[/code]Ich habe die userImages.bmp bearbeitet und meine Imp- und Export-Icons am Ende hinzugefügt. Gibt es eine Möglichkeit, irgendwie mit einem Index auf meine hinzugefügten Icons zuzugreifen.
Ich hoffe Sie verstehen mein Problem.
Danke nochmals für den Support08.03.2008 um 00:38 Uhr #34853Mustapha GhazzouzTeilnehmerDas Problem ist gelöst. Es geht also über die FaceId-Eigenschaft. Davor muss ich aber die userImages.bmp überschreiben.
Ich würde aber noch gerne wissen, wie ich die Buttons de-/aktiviere abhängig davon, ob eine Datenbank offen ist.
10.03.2008 um 17:55 Uhr #34854Bernhard KantzTeilnehmerYou could use an event procedure in FlexPro. You could add the commandbar when you open the database and remove the commandbar when you close the database.
See [b]Understanding Events[/b] in the FlexPro Help for details.
12.03.2008 um 20:28 Uhr #34855Mustapha GhazzouzTeilnehmerGibt es ein Befehl, um den Installationspfad von Flexpro zu ermitteln ? (sowas wie SysCmd(acSysCmdAccessDir) bei Access)
Danke
12.03.2008 um 22:04 Uhr #34856Bernhard KantzTeilnehmerPlease try
[code]Application.Path[/code]Support
support@weisang.com12.03.2008 um 22:36 Uhr #34857Mustapha GhazzouzTeilnehmeres funktionniert..
Danke
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.