Servus....
Also es ist soweit sie ist da!!
Version 0.2.xx !!!
Neuer Upload 29.06.15
0.2.19 Beta.7z
Mal gucken was ihr so davon haltet. Leider musste ich feststellen, dass um so mehr Buttons in der Bar sind sie bei einem Tabwechsel doch erheblich langsamer wird. Mal gucken was man noch so daran machen kann in Richtung Preformance. Im Gegensatz zur v0.1 haben sich viele Parameter geändert sodass beide Versionen untereinander nicht kompatiebel sein dürften. Dies sollte sich aber zur geplanten v0.3 nicht mehr verändern. Ich habe als Bsp. in der angehangenen 7z eine Test.au3 eingefügt in dem das meiste verdeutlicht wird.
Folgende Funktionen sind mit dem release der v0.2 möglich:
Möglichkeiten:
- freie Positionierung der Bar im Gui
- feste oder Automatische Breite der Bar
- 3 wählbare Grunddesigns der Bar ( blau, schwarz, silber [enthalten in der bar.dll] )
- Frei erstellbare Tabs
- in den einzelnen Tabflächen können TabItems mit einer Bezeichnung erstellt werden
- in den TabItems können Grandbuttons mit oder ohne ConTextmenü erstellt werden. Die Icons können hierzu aus einer *.dll gewählt werden.
- in den TabItems können bis zu 3 SmallButtons übereinander erstellt werden. Icon des Buttons wahlweise aus einer *.dll .
- jeder Tab,TabItem oder Button kann durch eine Funktion angezeigt oder versteckt werden
- Standart Gand und Small Button Icons durch die GrandButton.dll und SmallButton.dll ( am besten neue dlls erstellen mit den Icons die man auch wirklich braucht da sie sonst sehr groß sind )
- Einem Grand Button kann ein Contextmenü angehangen werden das mit den normalen Autoit Befehlen erweitert werden kann
Besonderheiten:
Ich habe auch die erweiterung für den SciTE gemacht... einfach folgendes ans Ende der "....\AutoIt3\SciTE\api\au3.api" hängen. Schon bekommt man die möglichen Parameteraufrufe vom SciTE angezeigt.
_RibbonsBar_Create($hGui,$aX = 0,$aY = 0,$aWidth = 0 ,$Offset_Tabs_left = 0 , $Style = 'blue/black/silver' ) Erstellt den Barbereich und grenzt ihn mit einer Linie ab.
_RibbonsBar_Create_Tab($hBar, $TabName) Erstellt einen Tab in der Bar.
_RibbonsBar_Create_TabItem ( $hTab, $ItemName, $Width ) Erstellt ein TabItem mit Label in einem Tab.
_RibbonsBar_TabItems_SetState($hTab ) Die TabItems eines Tabs werden angezeigt/versteckt.
_RibbonsBar_GetMsg($hGui = 'auto' ) Ermittelt die Mousehovers und registriert die Klicks auf die einzelnen Tabs/Buttons in der Bar. Es wird auch das normale GUIGetMsg() vom Gui zurückgegeben.
_RibbonsBar_Tab_SetState($hTab) Der Tab sammt TabItems und Buttons wird angezeigt/versteckt.
_RibbonsBar_Create_GrandButton($hTabItem, $Icon_Path, $Icon_Nr, $ButtonName, $GB_Width = 52, $Arrow = False) Erstellt einen großen Button optional mit Pfeil für ein Kontextmenü.
_RibbonsBar_GrandButtons_SetState($hTab) Die Buttons des Tabs werden angezeigt/versteckt.
_RibbonsBar_ContextMenu_SetState($hContextMenue) Aktiviert ein Contextmenü an der linken unteren Ecke des GrandButton.
_RibbonsBar_Create_ContextMenu($hGrandButton) Erstellt einen Handle für ein ContextMenü.
_RibbonsBar_Create_SmallButton($hTabItem, $Icon_Path, $Icon_Nr, $RowPos = 1, $SButtonName = '',$Width =25) Erstellt einen SmallButton in einem TabItem.
_RibbonsBar_SmallButtons_SetState($hTab) Die SmallButtons im Tab werden angezeigt/versteckt.
Alles anzeigen
Probleme:
- kleine zeitliche Verzögerung beim wechseln eines Tabs
Bugs:
- In Grand und Small Buttons lassen sich keine direkten PNGs laden ( Vorablösung: PNGs mit IconFX in dlls verschieben, dann wie im Muster laden)
ToDoList:
- Dropdown Kasten von Grand/Smal Button mit einzelnen SmalButtons für die v 0.2.1
- Dropdown Kasten von Grand/Smal Button mit einer Art ListView für die v 0.2.2
.... ( Weitere Erweiterungen für die v 0.2 )
- Hover der Buttons mit der hover.au3 für die v 0.3
Version 0.1
erste Veröffentlichung 13.06.09. Weitere Informationen im Spoiler.
Spoiler anzeigen
Probleme:
- Leider finde ich keine möglichkeit die Icons von Office als *.ico in die Bar zu bekommen. siehe Post [gelöst]
Bugs:
- Leider lässt sich die Bar noch nicht fehlerfrei in der y-Achse verschieben.. siehe Post [in v0.2 gelöst]
ToDoList:
- Grand-, Medium-, und Smalicons ( mit oder ohne Text ) als Buttons mit Rolloverbild einfügen [in v0.2 erstellt]
- Fehlerüberprüfung in jeder Funktion [in v0.2 erstellt]
- Doku jeder Funktion [in v0.2 erstellt]
#include 'modernGui.au3'#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <WindowsConstants.au3>$hGui = GUICreate ( "test", 800,500 ,-1,-1 )GUISetBkColor( 0x99B9E3 )$hBar = _modernGui_Bar_Create($hGui, 0, 0, 800 ,0 )$hStart = _modernGui_Bar_CreateTab( $hBar , 'Start' )$hStart_Area_Zwischenablage = _modernGui_Bar_CreateTabArea ( $hStart, 'Zwischenablage' , 120 )$hStart_Area_Folien = _modernGui_Bar_CreateTabArea ( $hStart, 'Folien' , 200 )$hStart_Area_Schriftart = _modernGui_Bar_CreateTabArea ( $hStart, 'Schriftart' , 150 )$hStart_Area_Absatz = _modernGui_Bar_CreateTabArea ( $hStart, 'Absatz' , 200 )$Button_Einfuegen = _modernGui_Bar_CreateGrandButton($hStart_Area_Zwischenablage,@ScriptDir&'\images\icons\513.png')$hEinfuegen = _modernGui_Bar_CreateTab( $hBar , 'Einfügen' )$hEinfuegen_Area_Tabellen = _modernGui_Bar_CreateTabArea ( $hEinfuegen, 'Tabellen' , 100)$hEinfuegen_Area_Illus = _modernGui_Bar_CreateTabArea ( $hEinfuegen, 'Illustrationen' , 250)$hEinfuegen_Area_Hyper = _modernGui_Bar_CreateTabArea ( $hEinfuegen, 'Hyperlinks' , 100)$hEinfuegen_Area_Text = _modernGui_Bar_CreateTabArea ( $hEinfuegen, 'Text' , 300)$hEntwurf = _modernGui_Bar_CreateTab( $hBar , 'Entwurf' )$hEinfuegen_Area_SEinrichten = _modernGui_Bar_CreateTabArea ( $hEntwurf, 'Seite einrichten' , 100)$hEinfuegen_Area_Designs = _modernGui_Bar_CreateTabArea ( $hEntwurf, 'Designs' , 650)$hAnimationen = _modernGui_Bar_CreateTab( $hBar , 'Animationen' )$hBildschirmpraesentation = _modernGui_Bar_CreateTab( $hBar , 'Bildschirmpräsentation' )$hUeberpruefen = _modernGui_Bar_CreateTab( $hBar , 'Überprüfen' )$hAnsicht = _modernGui_Bar_CreateTab( $hBar , 'Ansicht' )_modernGui_Bar_SetVisibleTab( $hStart)GUISetState()While 1Switch GUIGetMsg()Case -3ExitEndSwitchSwitch _modernGui_Bar_GetMsg($hGui)Case $hStart_modernGui_Bar_SetVisibleTab( $hStart )Case $hEinfuegen_modernGui_Bar_SetVisibleTab( $hEinfuegen)Case $hEntwurf_modernGui_Bar_SetVisibleTab( $hEntwurf )Case $hAnimationen_modernGui_Bar_SetVisibleTab( $hAnimationen )Case $hBildschirmpraesentation_modernGui_Bar_SetVisibleTab( $hBildschirmpraesentation )Case $hUeberpruefen_modernGui_Bar_SetVisibleTab( $hUeberpruefen )Case $hAnsicht_modernGui_Bar_SetVisibleTab( $hAnsicht )EndSwitchWEnd
[/autoit]Achtung wenn ihr die v0.1 testen wollt müsst ihr den Anhang für die v0.1 runterladen !!!
Bei Fragen zu Bar oder sinnvollen Erweiterungen stehe ich natürlich gerne zur Verfügung.
MFG chris
Alte Downloads der v0.1 182
Hier findet man ne Anleitung wie man Icons in die Dlls bekommst und wie man sieht welche Nummer welches Icon hat.