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# Discussion :

Changer la bordure d'un controleur dans une application Tierce [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Changer la bordure d'un controleur dans une application Tierce
    Bonjour !

    J'ai une application A qui écoute une application B
    J'ai une liste de contrôleur présent dans l'application B :
    Nom : Capture.PNG
Affichages : 241
Taille : 7,2 Ko

    Je désire pouvoir afficher des rectangles autour de l'élément sélectionner dans la deuxième ListBox, je le fais déjà mais voilà mon problème en image :
    Nom : Capture.PNG
Affichages : 212
Taille : 1,9 Ko

    Les rectangles restent à l'écran et j'en ai plusieurs. Ce qui devient brouillon. Mon but serait de n'en avoir qu'un en permanence.

    Pour cette méthode j'utilise ce code : Nom : Capture.PNG
Affichages : 266
Taille : 8,1 Ko

    Le code en dessous est un DrawReversibleFrame qui ne fonctionne pas non plus.


    Avez-vous des idées ? Je pensais utiliser l'handle du contrôleur et modifier la couleur de sa bordure quand je le selectionnais dans ma liste.

    Précisions, j'obtiens au besoin la position à l'écran des contrôleurs (et non pas par rapport à l'application B)

    Je suis apte à donner plus d'informations

    Bonne soirée

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour
    il faut liberer le handle qui a permis de creer l'objet Graphics.


    code behind .cs :
    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
     
    private void FromHdcHdc(PaintEventArgs e)
    {
     
        // Get handle to device context.
        IntPtr hdc = e.Graphics.GetHdc();
     
        // Create new graphics object using handle to device context.
        Graphics gr = Graphics.FromHdc(hdc);
     
        // Draw rectangle to screen.
        gr.DrawRectangle(new Pen(Color.Red, 3), 0, 0, 200, 100);
     
        // Release handle to device context and dispose of the      // Graphics object
        gr.ReleaseHdc(hdc);
        gr.Dispose();
    }
     
    End Sub
    bon code....

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour

    Etonnant car c'est ce que j'avais rajouté à un moment (toujours via P/invoke puisque ReleaseDC n'existe pas dans le contexte C#).
    Ceci dit, mon ReleaseDC prenait en paramètre deux handle. Je vais chercher celui qui n'en prend qu'un.

    Je suppose que je dois stocker le premier handle afin de pouvoir libérer celui là à la prochaine création ?

    Merci !

    EDIT : Autant pour moi, c'est dans Graphics directement ! Je test ça et je modifierai l'EDIT.

    EDIT2 : Paramètre non valide au moment du ReleaseHdc. Est-ce que c'est car le handle ne fait pas parti de mon application A mais de l'application B? Étonnant

    EDIT 3 : Résolu, voir ma réponse ici : https://stackoverflow.com/questions/...20812#47220812

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération alertes SharePoint 2007 dans une application tierce
    Par James Dt dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 23/05/2011, 17h11
  2. BreakPoint sur WriteProcessMemory dans une application tierce
    Par retj51 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/02/2009, 19h54
  3. Changer l'arrière plan des forms dans une application MDI
    Par zentaf dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 06/04/2007, 12h39
  4. ouvrir un fichier XML dans une application tierce
    Par boulator dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/06/2006, 11h44

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