![]() |
Betriebssystem: Win XP,Win 7
Ribbon
Ich habe folgendes Problem: ich bin noch unerfahren im Umgang mit der Ribbon-Steuerleiste; sodass ich keinen anständigen Speicher, Open und Fontdialog hinbekomme. Diese Dialoge werden gezeigt, sichern aber nichts. Kann mir jemand helfen?
Vielen Dank an alle Helfer! Lieben Gruß |
AW: Ribbon
Das die dahinterliegenden Funktionen nicht funktionieren, liegt aber nicht an den Ribbons,
denn da die Dialoge angezeigt werden, scheint der entsprechende Code ja aufgerufen zu werden. Aber ohne uns zu verraten, was dein Code macht und wie er aussieht, wird dir da keiner helfen können. |
AW: Ribbon
Ich hatte überlegt, die Geschichte mit dem FotnDialog so zu lösen :
procedure TForm1.FontEdit1BeforeExecute(Sender: TObject); begin if FontEdit1.Dialog.Execute then begin RichEdit1.Font.Assign(FontEdit1.Dialog.Font); end; end; Der FontDialog wird doppelt gezeigt: Er übernimmt beim ersten Mal die Schriftart auf das RichEdit, beim zweiten Mal passiert nichts. Ich habe einen ähnlichen Code beim Speicherdialog versucht: if FileSaveAs1.Execute then begin RichEdit1.Lines.SaveToFile(FileSaveAs1.Dialog.File Name); end; end; Der SaveDialog wird gezeigt, sichert auch die Datei und lässt sich danach aber nicht mehr beenden; ich musste den Prozess killen... . |
AW: Ribbon
Hi,
bei den Delphi Demos müsste auch ein Ribbon-Demo dabei sein. Schau' es dir einfach mal an, bzw. probier' einfach mal ein bisschen herum... Und zum Einstieg helfen vielleicht diese Online Tuts: ![]() ![]() ![]() Und ich könnte beinahe wetten, dass sich auf Youtube auch noch das eine oder andere zum Thema finden lässt... Gruß Steku |
AW: Ribbon
Ich habe lange bei youtube gesucht, aber nichts brauchbares gefunden; FontDialogs werden nie benutzt; wie man den Speicher u8nd Öffendialog benutzt, wird ebenfalls nicht erklärt...
|
AW: Ribbon
Was ist FontEdit1 für eine Komponente?
Beim Speichern sieht es soweit eigentlich OK aus, aber du solltest unbedingt mal das
Delphi-Quellcode:
weglassen, denn das erstellt einen "weiteren" Dialog und gibt es als Interface zurück, aber du wolltest doch auf die Ergebnisse des letzen Dialogs (in Execute) zugreifen. :zwinker:
Dialog.
Tipp: Wir besitzen hier auch [delphi]-Tags (da oben im Beitragsedior der Button mit rotem Delphi-Helm).
Delphi-Quellcode:
begin
if FileSaveAs1.Execute then RichEdit1.Lines.SaveToFile(FileSaveAs1.FileName); end; |
AW: Ribbon
Das nutzt leider nichts; es erzeugt eine Fehlermeldung: 'Auf TFileAction.FileName kann nicht zugegriffen werden'.
|
AW: Ribbon
Komisch, eigentlich sollte man doch auf FileName zugreifen können. :gruebel:
Aber mal zu den Actions. Ich hab selbst noch nicht wirklich was damit gemacht, aber soweit ich die OH verstanden hab und vorallem so wie das Ereignis klingt, wird BeforeExecute aufgerufen, bevor die Action ausgelöst wird. Beim Auslösen der Action wird der Dialog auch scheinbar automatisch aufgerufen (nach dem BeforeExecute), womit du kein Execute mehr aufrufen mußt/darfst. Für dich ist das Ereignis OnExcept das Richtige und dort mußt du nur noch den Filename oder den Font auslesen. Im Notfall doch über
Delphi-Quellcode:
. :gruebel:
.Dialog.FileName
|
AW: Ribbon
Guten Morgen,
vielleicht hier noch der Hinweis, dass es Standardactions gibt, eben u.a. auch FileOpen usw. Und die sollten dann natürlich auch verwendet werden, da bei einer normalen Action im OnExecute ein eigener OpenDialog aufgerufen werden muss. |
AW: Ribbon
Ich danke euch erst einaml für eure Antowrten; ich werde versuchen, das Problem zu lösen. Als ich bei dem Programm den Ribbon neu aufgesetzt habe un das Programm starten wollte, kam folgende Fehlermeldung:
' Zugriffsverletzung in Adresse 00403E5E in Modul "etv.exe" lesen von 0000038C '. Jetzt fürchte ich das Programm komplett neu aufsetzten müssen. Weiß jemand, wie ich diese Meldung entfernen kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz