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

C++Builder Discussion :

Afficher une image dns un TImage & Inter operabilit� des evenement OnMouseDown [D�butant(e)]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    Retrait�
    Inscrit en
    Mars 2004
    Messages
    150
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 76
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : Mars 2004
    Messages : 150
    Par d�faut Afficher une image dns un TImage & Inter operabilit� des evenement OnMouseDown
    Bonjour � tous,

    Programmeur sur C++ Borland, je suis quasi d�butant en C++ (je ne fait pratiquement que des programmes en C, pour ex�cution sous console msdos). Et cela fait bien longtemps que je n'ai pas fait de programmes avec des fen�tres. Alors, quand je m'y remets...

    Alors mon probl�me, dans une application fen�tr�e, est que j'ai une unit� principale avec une image qui contient une s�quence de code � ex�cuter en r�action � l'�v�nement "OnMouseDown", laquelle appelle "Form2->ShowModal()" Ma foi, cela a bien l'air de s'ex�cuter si ce n'est que l'image, que par ailleurs j'ai cr��e dans Form2, n'appara�t pas.

    Est-ce interdit d'avoir des images dans une fen�tre appel�e par showmodal ?

    Dans la foul�e, lorsque vos r�ponses m'auront d�coinc�, je compte � nouveau r�agir � un �v�nement "onclick" ou "Onmousedown" sur l'image de Form2. Est-ce possible ? N'y aura-t-il pas conflit avec le m�me �v�nement "onmousedown" d�j� existant sur Form1->Image1 ?

    Merci de votre aide !

  2. #2
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Citation Envoy� par ceugniet Voir le message
    Est-ce interdit d'avoir des images dans une fen�tre appel�e par showmodal ?
    Non, pas d'interdiction !
    Citation Envoy� par ceugniet Voir le message
    Dans la foul�e, lorsque vos r�ponses m'auront d�coinc�, je compte � nouveau r�agir � un �v�nement "onclick" ou "Onmousedown" sur l'image de Form2. Est-ce possible ?
    Oui... L'image contenue dans Form2 est cr��e dynamiquement, ou bien c'est un TImage simplement pos� sur le Form ?
    Citation Envoy� par ceugniet Voir le message
    N'y aura-t-il pas conflit avec le m�me �v�nement "onmousedown" d�j� existant sur Form1->Image1 ?
    Tu as un �v�nement OnClick d�fini sur Form1, un autre d�fini sur Form2, chacun ex�cutant son propre code... A moins de tomber dans un cas tr�s scabreux, pas de conflit � pr�voir...
    Bon courage !

  3. #3
    Membre confirm�
    Homme Profil pro
    Retrait�
    Inscrit en
    Mars 2004
    Messages
    150
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 76
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : Mars 2004
    Messages : 150
    Par d�faut
    Merci pour ta r�ponse rapide !

    Citation Envoy� par totoche76 Voir le message
    L'image contenue dans Form2 est cr��e dynamiquement, ou bien c'est un TImage simplement pos� sur le Form ?
    Je ne sais m�me pas comment cr�er une image dynamiquement ! C'est effectivement un TImage pos� sur le Form. Dans TForm2::FormCreate, j'ai plac� du code qui d�finit l'image, ses dimensions, sa position, j'ai donn� un petit coup de peinture Rouge, histoire de la voir bien, et j'ai plac� un commentaire sur un memo qui atteste que tout cela a bien �t� fait. Mais je ne vois toujours pas l'image, alors que je vois bien Form2 appara�tre.

    Maintenant que j'y pense, je me demande si ce n'est pas � cause de certains changements que j'ai faits dans la d�finition de Form2. Comme je ne voulais pas d'ent�te (le nom de la fen�tre, les trois commandes syst�me...), j'ai choisi dans BorderIcons false pour les 4 variables biSystemMenu, biMinimize, biMaximize et biHelp, Borderstyle est "none", Borderwidth est 0, FormStyle est fsMDIForm. Mais je ne comprends pas grand-chose � tous ces param�tres...

    Merci d'avance de ton aide !

  4. #4
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Les propri�t�s que tu as modifi�es sur TForm2 ne devraient pas g�ner (m�me si je parie que tu aurais pu laisser FormStyle sur fsNormal...)
    Le p�pin doit �tre dans ton FormCreate... Il ressemble � quoi ?

  5. #5
    Membre confirm�
    Homme Profil pro
    Retrait�
    Inscrit en
    Mars 2004
    Messages
    150
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 76
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : Mars 2004
    Messages : 150
    Par d�faut
    Citation Envoy� par totoche76 Voir le message
    Le p�pin doit �tre dans ton FormCreate... Il ressemble � quoi ?
    Ben le voil� !

    (h1,h2,wt,h0 et message[100] sont des variables globales d�finies dans unit2)

    Code : 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
    void __fastcall TForm2::FormCreate(TObject *Sender)
    {
       h1=1;
       h2=3;
       wt=300;
       h0=(wt-2*h2-2*h1)/3;
       wt=2*h2+2*h1+3*h0;
       Height=wt+200;
       Width=wt+200;
       int del=Height-ClientHeight;
       Height=wt+del+Button1->Height+20;
       del=Width-ClientWidth;
       Width=wt+del;
       Button2->Left=Width/4-Button2->Width/2;
       Button1->Left=Width*3/4-Button1->Width/2;
       Button2->Top=Height-Button2->Height-10;
       Button1->Top=Height-Button1->Height-10;
       Image1->Top=0;
       Image1->Left=0;
       Form2->Image1->Width=ClientWidth;
       Form2->Image1->Height=ClientHeight;
       sprintf(message,"image width=%d height=%d mise en couleur",Image1->Width,Image1->Height);
       Form1->Memo1->Lines->Add(AnsiString(message));
       sprintf(message,"Image top et left %d  %d",Image1->Top,Image1->Left);
       Form1->Memo1->Lines->Add(AnsiString(message));
       Form2->Image1->Canvas->Brush->Color=clRed;
       Form2->Image1->Canvas->FillRect(Rect(0,0,Image1->Width,Image1->Height));
    }

  6. #6
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    L'image s'affiche, enfin plus exactement le fond rouge que tu utilises pour "�craser" ton image s'affiche...
    Tu voudrais avoir l'image par dessus le fond rouge ?

  7. #7
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Citation Envoy� par ceugniet Voir le message
    Code : 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
    void __fastcall TForm2::FormCreate(TObject *Sender)
    {
       h1=1;
       h2=3;
       wt=300;
       h0=(wt-2*h2-2*h1)/3;
       wt=2*h2+2*h1+3*h0;
       Height=wt+200;
       Width=wt+200;
       int del=Height-ClientHeight;
       Height=wt+del+Button1->Height+20;
       del=Width-ClientWidth;
       Width=wt+del;
       Button2->Left=Width/4-Button2->Width/2;
       Button1->Left=Width*3/4-Button1->Width/2;
       Button2->Top=Height-Button2->Height-10;
       Button1->Top=Height-Button1->Height-10;
       Image1->Top=0;
       Image1->Left=0;
       Form2->Image1->Width=ClientWidth;
       Form2->Image1->Height=ClientHeight;
       sprintf(message,"image width=%d height=%d mise en couleur",Image1->Width,Image1->Height);
       Form1->Memo1->Lines->Add(AnsiString(message));
       sprintf(message,"Image top et left %d  %d",Image1->Top,Image1->Left);
       Form1->Memo1->Lines->Add(AnsiString(message));
       Form2->Image1->Canvas->Brush->Color=clRed;
      Form2->Image1->Canvas->FillRect(Rect(0,0,Image1->Width,Image1->Height));
    }
    C'est un peu bizarre parce que tu modifies la taille de ton image en utilisant la variable "Form2" alors que tu es dans le OnCreate d'une instance ^de TForm2 qui est peut-�tre diff�rente (voire �gale � z�ro)...

    Essaye de remplacer le "Form2" dans ton code ci-dessus par "this".

    Si tu ne vois toujours rien, je te propose d'essayer de d�marrer ta fiche sans modifier la taille de l'image, ou alors de la mettre sa propri�t� "Align" � "alClient" pour qu'elle s'adapte toute seule pour occuper tout l'espace disponible.

Discussions similaires

  1. Afficher une image d'un TWebBrowser dans un Timage !
    Par cincap dans le forum D�buter
    R�ponses: 1
    Dernier message: 26/08/2013, 12h48
  2. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de donn�es
    R�ponses: 6
    Dernier message: 27/02/2004, 10h51
  3. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    R�ponses: 3
    Dernier message: 11/02/2004, 18h59
  4. R�ponses: 2
    Dernier message: 04/02/2004, 22h32
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    R�ponses: 3
    Dernier message: 09/05/2003, 19h13

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