Salut Comment puis-je enregistrer l'état actuel du ruban Pour que je puisse charger le ruban avec le même état tout en ouvrant l'exe la prochaine fois en utilisant Delphi?Concernant les contrôles du ruban dans Delphi
Répondre
Vous pouvez utiliser le Registre Windows pour enregistrer l'état du ruban lorsque l'application se ferme, puis restaurer lors de l'ouverture de l'application.
Ce code est le travail avec Registries:
function LoadStringFromRegistry(sKey, sItem,
sDefVal: string; RootKey : HKEY = HKEY_CURRENT_USER): string;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create(KEY_READ); // REMOVE
try
Reg.RootKey := RootKey;
if Reg.OpenKey(sKey, false) then
begin
Result:=Reg.ReadString(sItem);
Reg.CloseKey;
end
else
Result:='';
finally
Reg.Free;
end;
end;
procedure SaveStringToRegistry(sKey, sItem, sVal : string; RootKey : HKEY = HKEY_LOCAL_MACHINE);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create(KEY_READ or KEY_WRITE);
try
Reg.RootKey := RootKey;
if Reg.OpenKey(sKey, true) then
begin
reg.WriteString(sItem, sVal);
Reg.CloseKey;
end;
finally
reg.Free;
end;
end;
État registre dans la liste des utilisations.
Exemple:
SaveStringToRegistry('Software\Company\Application', 'Left','20',HKEY_LOCAL_MACHINE);
left := LoadStringFromRegistry('Software\Company\Application', 'Left','',HKEY_LOCAL_MACHINE);
Si vous voulez enregistrer l'état pour chaque utilisateur de Windows utilisent HKEY_CURREN_USER au lieu de HKEY_LOCAL_MACHINE.
Si votre application a un autre mode de gestion des utilisateurs (base de données), enregistrez l'état du ruban dans la base de données.
-1 parce que la question concerne le ruban, pas la façon de stocker des informations dans le registre. En outre, vous recommandez de stocker des informations sous HKEY_LOCAL_MACHINE, et vous ne mentionnez pas cela nécessite une élévation de l'application dans les fenêtres modernes, car un utilisateur normal (même un administrateur) n'a pas assez de droits pour écrire dans HKLM) – jachguate
Je n'ai jamais utilisé le ruban standard dans Delphi .. mais après mon commentaire à @Ljubomir répondre, j'ai décidé d'enquêter un peu pour vous aider. A partir du code source, en regardant le fonctionnement de la boîte de dialogue de personnalisation, j'ai découvert que Ribbon est lié à TActionManager, que je n'ai jamais utilisé auparavant. Encore une fois, en regardant la source de TCustomActionManager, j'ai remarqué les méthodes SaveToFile/SaveToStream LoadFromFile/LoadFromStream je suppose est le moyen de sauvegarder/charger le ruban (gestionnaire d'actions) des informations d'état. D'un autre côté, TActionManager possède une propriété FileName. En revanche, le TActionManager possède une propriété FileName.
Si vous le définissez, il charge et enregistre automatiquement l'état ActionManager aux moments appropriés.
Espérons que cela vous apporte de la lumière.
- 1. Delphi 2009 Contrôles du ruban - Cadre en verre
- 2. Les onglets dynamiques du ruban existent-ils dans Delphi 2010?
- 3. Créer un contrôle de ruban dans Delphi avec Combobox comme l'un des contrôles?
- 4. Contrôles ActiveX avec les anciennes versions Delphi
- 5. Les contrôles du ruban UI "Fluent" peuvent-ils coexister avec le nouveau "Microsoft Ribbon for WPF"?
- 6. Comment utiliser les contrôles visuels dans Indy? (Delphi)
- 7. Personnalisation dynamique du ruban intégré Office 2007
- 8. accès Programmatic aux commandes du ruban VSTO
- 9. Ajouter des contrôles de ruban Excel à l'exécution (VSTO 2005SE)
- 10. Modifier l'étiquette du bouton dans le ruban en utilisant VBA
- 11. Désactiver le bouton du ruban
- 12. Concernant Ajax dans UserControl
- 13. Emplacement du «Comment» concernant les services RIA?
- 14. permettent le contrôle du ruban
- 15. Comment implémenter le redimensionnement du ruban personnalisé dans Excel 2007?
- 16. Contrôles Delphi riches qui prennent en charge les recherches RegEx
- 17. contrôle ruban WPF avec les commandes personnalisées
- 18. Bouton du ruban désactivé après l'ajout par programmation au ruban SharePoint 2010
- 19. "Les bases de Delphi" dans Delphi 2009
- 20. regex concernant les symboles dans les URLs
- 21. Microsoft Ruban pour WPF contre Office de l'interface utilisateur RUBAN
- 22. Masquer la liste des documents récents dans le menu Application de ruban dans Delphi 2010?
- 23. VSTO: Modification des onglets existants du ruban Word
- 24. Comment activer le menu du ruban?
- 25. Où stocker l'état des contrôles de ruban dans un Word 2010 addin
- 26. Le contrôle du ruban de Delphi 2010 a un contenu de pied de page dans le menu de l'application?
- 27. est-il un moyen dans delphi 2009 de rendre les contrôles de formulaire privés?
- 28. Bouton du ruban personnalisé dans SharePoint 2010 affiché comme désactivé
- 29. Question concernant les pointeurs dans fscanf
- 30. Ajouter des contrôles au groupe de ruban existant dans Office (VSTO)
Je pense que le titre est mauvais ... pouvez-vous éditer pour en mettre un plus spécifique? – jachguate