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 :

soucis avec WndProc


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 362
    Points : 64
    Points
    64
    Par défaut soucis avec WndProc
    bonsoir,

    un petit soucis avec WndProc pour empécher les copié-collés.

    J'ai utilisé ce petit bout de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     privateconstint WM_PASTE = 0x0302;
     protected override void WndProc(ref System.Windows.Forms.Message m)
     {
     if (m.Msg != WM_PASTE)
     base.WndProc(ref m);
     }
    J'ai "system.Windows.Forms" de référencé dans mon projet et j'ai un "using System.Windows.Forms" sur ma page.

    Par contre j'ai une erreur ici:
    "System.Windows.Forms.Page ne contien pas de définition pour WndProc"
    ????

    c'est du a quoi?

    ps: mon interface est en wpf

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par waspy59 Voir le message
    c'est du a quoi?
    à ça :
    Citation Envoyé par waspy59 Voir le message
    ps: mon interface est en wpf
    System.Windows.Forms, comme son nom l'indique, c'est pour Windows Forms, pas pour WPF. Tu es sûr que c'est pas plutôt System.Windows.Controls ? Parce que "System.Windows.Forms.Page" n'existe pas...

    WPF, contrairement à Windows Forms, ne repose pas sur les API Windows classiques. Par contre, l'application est quand même affichée dans une fenêtre Windows, et tu peux redéfinir sa procédure de fenêtre, mais c'est un peu plus complexe. Il faut ajouter un "hook" à la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle);
        source.AddHook(WndProc);
    }
     
    private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
    {
        if (msg == WM_PASTE)
        {
            handled = true;
        } 
        return IntPtr.Zero;
    }
    Par contre ce n'est valable que pour une Window, pas pour une Page : une page est un simple contrôle WPF, et n'a donc pas de handle de fenêtre Windows

Discussions similaires

  1. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  2. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 08h56
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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