IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Creation d'un éditeur graphique (texte+dessin)


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Creation d'un éditeur graphique (texte+dessin)
    Bonjour,
    Bon, c'est la première fois que je fais la démarche de demander de l'aide sur un forum.
    Je travaille en Delphi2007 sous Windows (mais je suppose que le principe doit être similaire avec d'autres outils)

    Je me suis lancé sur le développement d'un outil que je vais appeler "Editeur-graphique" ou EdG pour faire simple.
    Le genre d'application pourrait être
    -un éditeur de texte (capable de gérer des milliers de lignes et avec plusieurs vues simultannées et différentes sur le même document)
    -un outil de dessin 2D (dessiner un rectangle, un rond...)
    -ou les deux à la fois (dessiner un organigramme par exemple)
    Cela signifie que dans une zone rectangulaire j'ai besoin de faire apparaitre une vue sur une partie de mon document (qui est très grand) et donc de disposer par exemple d'ascenseurs pour faire "défiler" le document.

    Pour un simple texte, je pourrais faire avec des Composants tout faits comme TMemo, TRichEdit. Mais là je vais avoir besoin d'afficher aussi des BitMap, des traits, n'importe quoi en fait.

    Mes questions sont :
    -de quel "composant" dois-je faire hériter le composant "EdG" que je vais créer pour avoir toute souplesse?
    J'avais pensé à
    TComponent, TScrollBox, TCustomControl, TScrollingWinControl.....
    (j'ai déjà réalisé quelque chose en partant d'une TForm mais ça ne va pas car j'ai besoin de pouvoir afficher plusieurs vue différentes simultannées sur le même document.)
    TScrollBox....nécessite que je déclare une propriété TCanvas car il n'en contient pas pas lui-même.
    Bref, je suis un peu paumé


    -dois-je me préoccuper d'optimiser l'affichage (en calculant au fur et à mesure les parties que je dois afficher selon le défilement (=position des ascenseurs) ou bien c'est déjà fait (par le système ?)

    J'espère que ma question n'a pas déjà été posée : si c'est le cas indiquez-moi simplement où on en parle.
    Merci d'avance de votre attention et de votre aide.
    et en tout les cas bonne journée et "bon développement"
    Ysys

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par YsYs Voir le message
    Bonjour,
    Bon, c'est la première fois que je fais la démarche de demander de l'aide sur un forum.
    Je travaille en Delphi2007 sous Windows (mais je suppose que le principe doit être similaire avec d'autres outils)

    Je me suis lancé sur le développement d'un outil que je vais appeler "Editeur-graphique" ou EdG pour faire simple.
    Le genre d'application pourrait être
    -un éditeur de texte (capable de gérer des milliers de lignes et avec plusieurs vues simultannées et différentes sur le même document)
    -un outil de dessin 2D (dessiner un rectangle, un rond...)
    -ou les deux à la fois (dessiner un organigramme par exemple)
    Cela signifie que dans une zone rectangulaire j'ai besoin de faire apparaitre une vue sur une partie de mon document (qui est très grand) et donc de disposer par exemple d'ascenseurs pour faire "défiler" le document.

    Pour un simple texte, je pourrais faire avec des Composants tout faits comme TMemo, TRichEdit. Mais là je vais avoir besoin d'afficher aussi des BitMap, des traits, n'importe quoi en fait.

    Mes questions sont :
    -de quel "composant" dois-je faire hériter le composant "EdG" que je vais créer pour avoir toute souplesse?
    J'avais pensé à
    TComponent, TScrollBox, TCustomControl, TScrollingWinControl.....
    (j'ai déjà réalisé quelque chose en partant d'une TForm mais ça ne va pas car j'ai besoin de pouvoir afficher plusieurs vue différentes simultannées sur le même document.)
    TScrollBox....nécessite que je déclare une propriété TCanvas car il n'en contient pas pas lui-même.
    Bref, je suis un peu paumé


    -dois-je me préoccuper d'optimiser l'affichage (en calculant au fur et à mesure les parties que je dois afficher selon le défilement (=position des ascenseurs) ou bien c'est déjà fait (par le système ?)

    J'espère que ma question n'a pas déjà été posée : si c'est le cas indiquez-moi simplement où on en parle.
    Merci d'avance de votre attention et de votre aide.
    et en tout les cas bonne journée et "bon développement"
    Ysys
    Euh ... je dirais Word, c'est exactement ce que tu veux faire

    Plus sérieusement
    - Pour les organigrammes : TSimpleGraph
    - Le reste tout est réalisable dans un RichEdit (Text + Image + Mise en forme)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 449
    Points : 24 856
    Points
    24 856
    Par défaut
    Tu veux refaire MS Office ord ou OpenOffice Writer ?
    C'est pas "débutant"

    TRichEdit, effectivement, c'est ni plus ni moins le Controle utilisé par WordPad, c'est limité, mais surtout à cause la VCL, il faut utiliser une autre version du controle Windows, voir dans la JCVL, ou passer par les API directement pour avoir toutes les fonctionnaliés disponibles

    Tu peux repartir du TCustomMemo, tu as les bases d'un controle de texte multiligne, ensuite, tu surcharges WMPaint ou PaintWindow pour dessiner sur le contexte du WinControl

    ou partir du TCustomControl, tu devras surchargés WMPaint, tu devras refaire tout ce qui concerne un Memo comme Lines, Attributes, Caret, ... mais tu seras aussi plus libre dans ton dévelopemment

    Il faudra aussi penser à un format de stockage !

    EDIT : Grillé
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci Rayek et ShaiLeTroll de vos réponses.
    C'est exact que mon projet n'est pas de niveau "débutant".
    J'ai quelques années de programmation derrière moi, mais sur ce projet je me retrouve débutant car je ne sais quel chemin prendre...

    TSimpleGraph est un beau poisson, mais ce dont j'ai besoin c'est d'apprendre à pêcher !

    Je vais regarder TCustomMemo et TCustomControl.
    et je vais installer la JVCL que je n'avais pas osé regarder : c'est tellement énorme ! Si j'y trouve les sources d'un genre de TRichEdit, cela pour m'être bien utile.
    ça me fait du travail tout ça...

    Merci de votre aide
    A suivre
    Ysys

  5. #5
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Si tu es motivé, Un TPaintbox seul peu suffire
    Mais il faut que tu gères toi même les différents objets qui y seront affichés (texte, dessins, bitmaps, traits, etc...).
    Bidouilleuse Delphi

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/04/2015, 02h02
  2. [PHP] Editeur graphique pour site php
    Par jojo1-2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 11/01/2006, 14h11
  3. [EDI] Editeur de texte
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/10/2005, 14h51
  4. recherche composant éditeur de texte
    Par Bruno75 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 15/09/2005, 10h33
  5. [PDE] Comment ajouter un éditeur de texte à mon projet ?
    Par simsky dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 29/06/2005, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo