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

MFC Discussion :

ConversioN C++.net vers visual C++ mfc


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut ConversioN C++.net vers visual C++ mfc
    Bonjour

    J'essaye d'utiliser un activeX permettant de prendre la main sur un lecteur d'empreinte digitale.
    Mon souci est que les exemples de l'activeX sont ecrit en C++.net et je programme avec les MFC j'ai donc quelques souci de conversion.

    Mon souci ce situe à la definition d'une picture box, de recuperer son hdc sous la forme d'un long et d'attribuer un handle a l'image de sortie.

    la fonction de l'activeX est la suivante permettant de recuperer l'image du lecteur et de la transferer dans une picture box

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int CapRawImageToHandle (VARIANT *rawimage,long width,long height,long hdc,LPDISPATCH &handler);

    Je recupere sans probleme les 3 premier parametres mon souci et d'avoir le hdc sous forme d'un long pour ma picture et surtout commen convertir le code qui suit en MFC

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    System::Drawing::Image *handle;
    
      // screen HDC
      Graphics *g = _btEnroll->CreateGraphics();
      IntPtr hdc = g->GetHdc();
    
      	  // get raw image
    _grfingerx->CapRawImageToHandle(&_raw->img, _raw->width, _raw->height, hdc.ToInt32(), &handle);
      }
    pour le 4eme parametre j'ai fait cela mais je n'ai pas un long

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CWnd *visual;
    Visual=(CWnd*) GetDlgItem(IDC_VISUAL);
    HDC hdc = ::GetDC(visual->m_hWnd);
    et pour le dernirer je ne sais pas quoi utiliser.

    Cordialement

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pour le dernier je ferai : LPDISPATCH pDispatch;


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    Merci cela compile

    mais comment je lie le LPDISPATCH a un CBitmap ou un HBitmap pour apres l'afficher dans une picture box!!!

    Merci

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu ne peux pas directement...,
    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    COleDispatchDriver driver;
    HPALETTE hpal;
    HBITMAP hbitmap;
    
     // Obtain hPal property from picture        
    driver.AttachDispatch(pDispatch, TRUE);
    driver.GetProperty(DISPID_PICT_HPAL, VT_HANDLE, (void*)&hpal);
    driver.GetProperty(DISPID_PICT_HANDLE,VT_HANDLE,(void*)&hbitmap);
    driver.DetachDispatch();
    tu disposes d'un hbitmap et de sa palette que tu peux utiliser ...

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    ça a fonctionné ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 391
    Points : 347
    Points
    347
    Par défaut
    MErci pour ta reponse

    En fait j'ai posé la question a l'envers.
    La fonction demande un LPDISPATCH qui doit contenir
    The fingerprint picture display handle
    .
    donc ci doit contenir le handle de la picturebox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	long CapRawImageToHandle(VARIANT * rawImage, long width, long height, long hdc, LPDISPATCH * handler)
    Sait tu comment passer le handle de ma picturebox au LPDISPATCH?
    De meme cette fonction me demande un HDC sous forme de long est-ce que jepeux le caster directement?

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_finger.CapRawImageToHandle (rawImage,width,height,(long)dc.m_hDC,&pDispatch);
    cordialement

    Je cherche mais je tourne en rond
    Cordialement

Discussions similaires

  1. [Débutant] Conversion VB.Net vers C#
    Par Rosees dans le forum C#
    Réponses: 4
    Dernier message: 01/10/2013, 16h08
  2. [Débutant] Conversion C#.net vers VB.net
    Par patrickvier dans le forum VB.NET
    Réponses: 5
    Dernier message: 23/01/2013, 15h08
  3. Migrations de codes MFC de Visual 6.0 vers Visual studio 2005
    Par jojo le boss dans le forum VC++ .NET
    Réponses: 12
    Dernier message: 06/08/2006, 11h47
  4. Une solution pour migrer de .NET vers MFC
    Par torNAdE dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2006, 22h23
  5. Réponses: 10
    Dernier message: 31/01/2006, 17h34

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