2010-05-04 8 views
1

J'ai créé dans mon application 2 barres d'outils. Parce que je voulais être capable de les faire glisser, j'ai mis les deux composants TToolBar à l'intérieur d'un TControlBar. Dans ce cas je peux les déplacer, mais je veux pouvoir les glisser comme dans MS Office (faites glisser une barre d'outils depuis le haut et placez-la à gauche, à droite ou en bas de la fenêtre et enregistrez sa position) ....barres d'outils de glisser

Quelqu'un peut-il m'aider?

Répondre

1

Définissez 'DragKind' des barres d'outils sur 'dkDock' et 'DragMode' sur 'dmAutomatic'. 'DockSite' des ControlBars doit être True. Maintenant, tout ce dont vous avez besoin est de tenir sur sth. faire glisser, pour une raison quelconque, les poignées de traînée ne semblent pas fonctionner, mais les séparateurs le feraient. Peut-être un séparateur comme un premier article fausserait-il une poignée de traînée. À des fins de test, compilez et exécutez la 'démo d'ancrage' dans le dossier '... \ Demos \ DelphiWin32 \ VCLWin32 \ Docking'. Vous devriez être capable de flotter 'Toolbar1' en faisant glisser depuis le séparateur entre les boutons 'Exit' et 'Toolbar1'.

Comme pour sauver la position, je crois que vous le faire manuellement

Ceci étant dit ceux-ci, l'OMI, ces contrôles ne feraient pas de bons éléments de l'interface graphique. Autant que je sache, les applications Office n'ont jamais utilisé les contrôles ToolbarWindow32 et Rebar. Optez plutôt pour une bibliothèque tierce. J'utilise une bibliothèque SpTBXLib qui dépend de Toolbar2000.