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 :

TImage / PictureBox


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut TImage / PictureBox
    Salut,
    J'ai migré une appli vb en delphi. L'outil de migration à transformer les picturebox de vb en Timage de delphi, mais a gardé les propriétés du control picturebox. Les propriétés que je voudrai changer sont :
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    picturebox.fillstyle
    picturebox.pset
    picturebox.line(integer, integer, integer, color)
    picturebox.cls
    picturebox.autoredraw
    picturebox.scalemode
    picturebox.borderstyle
    picturebox.currentX
    picturebox.currentY
    J'ai consulté l'aide de delphi, mais c'était vain. Si quelqu'un connais les (ou quelques) équivalents de ces propriétés pour un TImage de Delphi, qu'il n'hésite pas à se prononcer. Merci.

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    A priori tout ce que tu cherhce a faire est dnas la classe TCanvas (property Canvas)

    - FillStyle doit est Brush.Style
    - Pset connait pas (ca fait quoi en VB ?)
    - Line : C'est MoveTo + LineTo
    - Cls : Heuuuu un FillRect avec un Brush.Color particulier sur ClipRect ?!?
    - AutoRedraw : Cetautomatix ?
    - ScaleMode : Je verais biens Stretch dans TImage (etirement) conbiné avec Center et Proportionnal ca fait des merveilles
    - BorderStyle : La ... Va faloir y aller a coup de moveTo/LineTo .... Les TShapes sont bien aussi pour poser des bordures personalisées
    - CurrentX/CurrentY : C'est pour acceder aux pixels ? tu as la prop Pixels ....

  3. #3
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Voici ce que dit l'aide vb à propos de pset
    Sub PSet(Step As Integer, X As Single, Y As Single, Color As Long)
    Member of VB.PictureBox
    Sets a point on an object to a specified color.
    CurrentX/CurrentY permettent de déterminer les coordonnées d'un pixel (je pense)
    Returns/sets the vertical/horizontal coordinates for next print or draw method.

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ok .. donc pset est l'equivalent de la propert Pixels

    Sinon CurrentX/Y faut voir a quoi ca sert, ou plutot dans quelles condition et a quels moment tu t'en sert ... car d'apres la def, je ne vois pas d'equivalent dans delphi. Le systeme de gestion est different.

  5. #5
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    La procédure est la suivante :
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Sub DrawBtnTxt(inPct As PictureBox, lbLeft%, lbTop%, lbRight%, lbBottom%, lbText$, lbHorzAlign$, txVertAlign$, inMultiLine%)
    .
    .
    .
    .
    .
    .
       'Calculate the Y position
       inPct.CurrentY = lbTop + (((lbBottom - lbTop) * lbVertAlign) - (inTextHeight * lbVertAlign))
     
       'Don't let it go over the top
       If inPct.CurrentY < lbTop Then
          inPct.CurrentY = lbTop
       End If
     
       For inElement = 1 To UBound(arText) 'Loop thru all element strings
     
          Select Case LCase(lbHorzAlign)
             Case "left"
                inPct.CurrentX = lbLeft
     
             Case "right"
                inPct.CurrentX = lbRight - inPct.TextWidth(arText(inElement)) - 3
     
             Case "center"
                inPct.CurrentX = lbLeft + (((lbRight - lbLeft) / 2) - (inPct.TextWidth(arText(inElement)) / 2))
             Case Else  'Default "center"
                inPct.CurrentX = lbLeft + (((lbRight - lbLeft) / 2) - (inPct.TextWidth(arText(inElement)) / 2))
          End Select
     
          inPct.Print arText(inElement)
       Next
     
       ReDim arText(0)
    End Sub

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    ok .. donc ca semble permettre de definir un pixel qui ser de point de depart du dessins comme du texte par exemple ...

    Dans ce cas, la plupart des fonctions de TCanvas (textOut ?) possede comme parametre les valeurs X et Y du pixel de depart ....

Discussions similaires

  1. Timage et Canvas??
    Par vanack dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/04/2007, 11h38
  2. [TImage] Transfert de Picture par pixels.
    Par H2D dans le forum Langage
    Réponses: 9
    Dernier message: 25/10/2003, 14h37
  3. vider un timage
    Par gIch dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/08/2002, 23h58
  4. TImage
    Par Thylia dans le forum C++Builder
    Réponses: 5
    Dernier message: 09/07/2002, 20h03
  5. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36

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