Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Méthode ou composant pour gestion des onglets comme illustator/photoshop [ Divers / Aide et documentation ] (orelien)

samedi 15 mars 2008 à 19:10:23 | Méthode ou composant pour gestion des onglets comme illustator/photoshop

orelien

Bonjour,

Je cherche à obtenir le même système de gestion d'onglets de barres d'outils que dans Illustrator ou photoshop. Les onglets peuvent se déplacer entre chaque fenêtres, se supprimer, ou se séparer de leur fenêtre d'origine. Il y a je pense une gestion "drag and drop" mais je ne sais pas comment obtenir le même comportement.

Quelqu'un a t'il une idée sur les méthodes à appliquer ? Peut-être existe t'il un composant qui réalise tout ça ?

Merci

Orélien.

samedi 15 mars 2008 à 20:09:54 | Re : Méthode ou composant pour gestion des onglets comme illustator/photoshop

Francky23012301

Membre Club
Salut

Regarde du coté du TControlBar (Onglet Standard) et TToolBar (Onglet Win32)
DragKind doit etre à DkDock et DragMode à DmManual si je me souviens bien.

samedi 15 mars 2008 à 20:43:06 | Re : Méthode ou composant pour gestion des onglets comme illustator/photoshop

orelien

En fait, je suis parvenu à déplacer les onglets entre eux dans un composant TPageControl mais pas d'un TPageControl à un autre et encore moins avec un composant TTabSet qui m'intérressait le plus.

Orélien.

dimanche 16 mars 2008 à 15:28:21 | Re : Méthode ou composant pour gestion des onglets comme illustator/photoshop

ThWilliam

Membre Club

Salut,

Regarde ceci : [ Lien ]

La deuxième solution permet de déplacer dans un autre PageControl.

Voici un "mix" des deux solutions que j'ai fait au plus simple :

La propriété DragMode des PageControl = dmManual
3 procédures pour PageControl1 : OnMouseDown, OnDragOver, OnDragDrop
Le ou les autres PageControl utilisent les procédures de PageControl1.

* * *

function GetTabIndex(APageControl:TPageControl; MoveToOther: boolean; X, Y: Integer): Integer;
begin
  Result := APageControl.IndexOfTabAt(X,Y);
  if MoveToOther and (Result >= 0) then
    with APageControl.TabRect(Result) do
      if X > ((Left + Right) div 2) then Inc(Result);
  // ceci permet d'insérer avant ou après un onglet suivant la position de la souris.
end;

procedure TForm1.PageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
    TPageControl(Sender).BeginDrag(False);
end;

procedure TForm1.PageControl1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TPageControl;
end;

procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  Tab: TTabSheet;
  TabIndex: integer;
begin
  TabIndex:= GetTabIndex(TPageControl(Sender), (Sender <> Source), X, Y);
  if TabIndex >= 0 then
  begin
     if TPageControl(Source) = TPageControl(Sender) then
     begin
        if TPageControl(Sender).ActivePage.PageIndex <> TabIndex then
           TPageControl(Sender).ActivePage.PageIndex := TabIndex;
     end
     else
     begin
        Tab:= TPageControl(Source).ActivePage;
        Tab.PageControl:= TPageControl(Sender);
        Tab.PageIndex:= TabIndex;
        TPageControl(Sender).ActivePage:= Tab;
     end;
  end;
  TPageControl(Source).EndDrag(true);
end;

* * *

A +
Thierry


vendredi 13 juin 2008 à 15:48:50 | Re : Méthode ou composant pour gestion des onglets comme illustator/photoshop

orelien

Bonjour,

Désolé de répondre aussi tard, j'ai finalement opté dans l'urgence pour une gestion des onglets avec un tpagecontrol. Malgré cela, je me pose toujorus la question à mettre en place le même système pour obtenir un visuel tel que le composant ttabset peut donner.

Illustrator ou encore photoshop utilisent un composant similaire avec intéraction entre eux de manière à déplacer les onglets entre eux, sur de nouelles fenêtres.

Si quelqu'un à une solution pour btenir le même système (composant, méthode, dessin sur un tpagecontrol). J'ai tenté de redessiner sur un pagecontrol en plus du code précédent mais je n'arrive pas à ôter les bordure et à obtenir l'équivalent d'un tabset.

Merci !

Orélien.




Cette discussion est classé dans : composant, gestion, photoshop, onglets, méthode


Répondre à ce message

Sujets en rapport avec ce message

Création de composant [ par Chong ] Tout d'abord Merci beaucoup pour ceux qui m'ont répondu...je ne les nommerai pas discrétion.Voilà les mecs (frapading!), j'ai un autre soucciDans le b recherche un composant gestion de list [ par ptitmanu ] Bonjour,je suis à la recherche d'un composant delphi permettant la gestion de liste, avec des boutons pour creer de nouveaux éléments, les supprimer, GESTION DU SON AVEC DELPHI : RECHERCHE D'UN FILTRE DE FREQUENCE [ par jamy02 ] Merci à KENAVO qui m'a donné l'adresse d'un composant WaveIn qui m'a permis de gérer unnWavedans Delphi.En creusant au niveau du composant j'ai utilis La gestion des droits [ par cantador ] Bonjour à tous, Encore un autre sujet..Je fais un malheur en ce moment avec mes questions..<?xml:namespace prefix = v ns = "urn:schemas-microsoft-co Gestion de l'avant plan [ par vieuxpere ] Bonjour,Apres la compilation de mon prog, je voudrais placer un composant que je créé dynamiquement devant un autre (un bevel devant un label afin de GESTION COMPOSANT DBGRID [ par adjena ] Bonjour,Quelqu'n pourrait-il m'aider a gerer un composant dbgrid pour faire des controle sur les cellule et ne pas pouvoir sortir de la cellule tant q Proxy et webbrowser [ par manu00 ] Bonjour,Je souhaite faire passer les connections effectuées dans mon appli dans un composant webbrowser via un proxy.J'ai bien reussi a utiliser un pr option du printpartialcanvas ... [ par goloa ] Bonjour à tous,Je vous contacte car j'ai une petite incompréhension avec la méthode printpartialcanvas.j'ai une série de teechart les un en dessous de Manque le composant TTimer [ par roeugene ] Dans l'application que j'ai développé en Delphi 7, j'utilisé le composant TTimer. Maintenant quand j'ouvre l'application sous Delphi 7 sur un autr ajouté une image 3ds dans un composant GLScene [ par NeoFacto ] Salut !!Voilà, nous aimerions bien savoir comment ajouté une image 3ds dans un composant GLScene, et si possible avec Delphi 5 !!!Est-ce que quelqu'un


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.