Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Ribbon Elemente freigeben (https://www.delphipraxis.net/161823-ribbon-elemente-freigeben.html)

bersim 22. Jul 2011 12:38

Ribbon Elemente freigeben
 
Hallo Leute,
mal ne Frage

Wenn ich eine RibbonPage nicht anzeigen will und mach dann
z.b.

Delphi-Quellcode:
frm_MainScreen.RibbonPage5.Free;
Ist das dann ok oder kann das zu Problemen führen?

Hintergrund :

User darf nur auf bestimmte Reiter des Ribbon zugreifen und daher will ich die nicht erlaubten ausblenden.

So prüfe ich im Übrigen ab
Delphi-Quellcode:
if ADOTable1.Locate(('Username;Passwort;Administration'), VarArrayOf([Username, Passwort, rechte]), [loCaseInsensitive]) then
    begin
      Shape8.Brush.Color := clGreen;
    end
    else
    begin
      Shape8.Brush.Color := clred;
      frm_MainScreen.RibbonPage5.Free;

    end;


Gruss

semo 22. Jul 2011 13:03

AW: Ribbon Elemente freigeben
 
Hallo,

ich würde anstatt das Objekt selber freizugeben, die Delete(Index: Integer); Funktion der Collection aufrufe.
Zum Beispiel:
Code:
Ribbon1.Tabs.Delete(0);

Bernhard Geyer 22. Jul 2011 13:12

AW: Ribbon Elemente freigeben
 
Zitat:

Zitat von semo (Beitrag 1113050)
Hallo,

ich würde anstatt das Objekt selber freizugeben, die Delete(Index: Integer); Funktion der Collection aufrufe.
Zum Beispiel:
Code:
Ribbon1.Tabs.Delete(0);

Solle wenn keine Fehler implementiert ist. Der Parent bekommt eine Notification wenn das Child freigegeben wird.

Aber wieso freigeben. Reicht es nicht das Element zu verstecken? ist Programmtechnisch einfacher wenn noch an vielen Stellen Unterelemente des Ribbons Enabled/Disabled werden.
Bei freigegeben Ribbon müsstest du immer darauf Prüfen ob es freigegeben ist.

bersim 22. Jul 2011 14:18

AW: Ribbon Elemente freigeben
 
Wie meinst du mit verstecken?

Delphi-Quellcode:
  frm_MainScreen.RibbonPage5.Hide;
funktioniert nicht.
Es wird weiterhin angezeigt.
Delphi-Quellcode:
frm_MainScreen.RibbonPage5.Visible := false;
geht auch nicht.

Habt ihr sonst noch Einfälle? mit dem Delete gehts..
Gruss

axellang 22. Jul 2011 17:23

AW: Ribbon Elemente freigeben
 
Hi,

Zitat:

Zitat von bersim (Beitrag 1113066)
Wie meinst du mit verstecken?

Delphi-Quellcode:
  frm_MainScreen.RibbonPage5.Hide;
funktioniert nicht.
Es wird weiterhin angezeigt.
Delphi-Quellcode:
frm_MainScreen.RibbonPage5.Visible := false;
geht auch nicht.

Habt ihr sonst noch Einfälle? mit dem Delete gehts..
Gruss

im Windows Ribbon Framework geht es über Application Modes und Contextual Tabs, siehe hier und hier. Ob es mit Delphi auch so funktioniert, gute Frage.

Falls Deine Anwendung nicht unbedingt auf <=XP,2003 laufen muss, würde dir empfehlen das Windows Ribbon Framework zu verwenden.
Eine gute und freie (FullSource) Delphi library findest Du hier.

Axel


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz