RibbonsBar (Office 2007 Bar) UDF

  • Servus....

    Also es ist soweit :thumbup: 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.

    Probleme: ?(

    - kleine zeitliche Verzögerung beim wechseln eines Tabs

    Bugs: :cursing:

    - 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: :cursing:

    - 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]

    [autoit]

    #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 :thumbup:

    Alte Downloads der v0.1 182 :thumbup:

    Hier findet man ne Anleitung wie man Icons in die Dlls bekommst und wie man sieht welche Nummer welches Icon hat.

  • Gefällt mir! Sieht wirklich aus wie MS PowerPoint 2007

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • hi....

    ich habe das große bild habe aber auch nen tool geschrieben das es mir in die kleinen Bilder aufteilt...

    habe sie nur leider nicht als *.ico ...

    [autoit]

    #include <gdiplus.au3>
    _GDIPlus_Startup ()
    $hImage= _GDIPlus_BitmapCreateFromFile('alles.jpg')
    $iX = _GDIPlus_ImageGetWidth ($hImage)
    $iY = _GDIPlus_ImageGetHeight ($hImage)
    $i3 = 0
    For $i2 = 7 To $iY Step 40
    For $i = 10 To $iX Step 40
    $i3 += 1
    ;~ If $i3 > 100 Then Exit
    $hImage_new = _GDIPlus_BitmapCloneArea ( $hImage , $i,$i2,35,35 )
    _GDIPlus_ImageSaveToFile($hImage_new, @ScriptDir&'\images\'&$i3&'.bmp' )
    ToolTip ( $i3 )
    Next
    Next

    [/autoit]

    MFG chris :D

  • hehe...

    das mit den Icons ist ja lieb gemeint...aber... wenn dann brauche ich die orginal Icons von Microschuft...

    entweder muss der HG durchsichtig sein oder schon die Passenden HG Farbe ( bzw. Farbverlauf ) haben damit er an der stelle passt....
    das Problem ist, dass man dann jedes "Icon" anpassen muss und das dann für große icons und auch für die kleinen nachher...
    und dann als bmp/jpg abspeichern.... viel aufwand....

    aber es muss noch was anderes geben...

    MFG chris :D

    • Offizieller Beitrag

    Sieht sehr gut aus bis jetzt. :D

    Warum benutzt du nich einfach frei Icons aus dem Netz? Ich weiß nicht wie es mit der Weitergabe der Original Icons aus Office aussieht, die unterliegen bestimmt dem Copyright.

  • Also erstmal klasse UDF sieht super aus!
    Ich finde auch die Icons müssen nicht von Microsoft sein. Es gibt genug andere Icons ;)

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Ich denke mal dass die Icons von Microsoft sowie so (C) sind da es bei größeren PC Unternehmen immer alles Compyright ist und deshlab würde ich entweder selleber icons erstellen oder auss der imageres.dll oder shell32.dll oder im internet in google nach freien icons suchen es gibt immer icon packs iwo

  • ich könnte dir die Icons machen so dass sie durchsichtig sind aber muss erst wissen ob das überhaupt erlaubt ist

    [autoit]


    #cs-----------------------------------------------------------------------------
    Hilfe ist immer gut also nimmt sie an ^^
    #ce-----------------------------------------------------------------------------

    [/autoit]
  • Ist doch eh im erstem post

    Spoiler anzeigen
    [autoit]

    #include 'modernGui.au3'
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $hGui = GUICreate ( "test", 800,500 ,-1,-1 )
    GUISetBkColor( 0x99B9E3 )

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $hBar = _modernGui_Bar_Create($hGui, 0, 0, 800 ,0 )

    [/autoit] [autoit][/autoit] [autoit]

    $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')

    [/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    $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)

    [/autoit] [autoit][/autoit] [autoit]

    $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' )

    [/autoit] [autoit][/autoit] [autoit]

    _modernGui_Bar_SetVisibleTab( $hStart)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    EndSwitch
    Switch _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 )
    EndSwitch
    WEnd

    [/autoit]
  • Ich weiß nicht, ob das schon erwähnt wurde, aber hier mal ein paar Tipps:
    Benutze 1. am besten die Hover.au3 aus dem englischem Forum, das scheint mir sparsamer zu sein.
    2. Für die Hover-Funktionen auf den Buttons: Überlagere den Button doch mit einem transparenten gif.

    Das gleiche kannst du doch auch für die Office-Icons benutzen.

    Und was auch sehr interessant wäre, wäre diese Blume oben hinzukriegen :D

    Schau dir mal den AutoIt-Debugger an, (auf der englischen Seite), vllt. inspiriert dich das.

  • Also erstmal, das sieht einfach hammer aus, großes lob

    Also so weit ich weiß kann autoit doch keine Transparenten Gifs, nur mit gdi plus

    mfg. Jam00