Merci pour l'aide mais c'est bon j'ai trouvé une solution grâce aux exemples qu'ion peut trouver sur www.codeproject.com
Si vous voulez savoir comment changer le curseur lorsqu'il passe au-dessus d'un contrôle CStatic puis ouvrir une page internet en cliquant sur ce contrôle, voilà le code :
HyperLink.h
Code :
- #pragma once
- // CHyperLink
- class CHyperLink : public CStatic
- {
- DECLARE_DYNAMIC(CHyperLink)
- public:
- CHyperLink();
- virtual ~CHyperLink();
- protected:
- DECLARE_MESSAGE_MAP()
- public:
- CString m_Lien;
- public:
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnClicked();
- };
|
HyperLink.cpp
Code :
- // HyperLink.cpp : fichier d'implémentation
- //
- #include "stdafx.h"
- #include "F.E.A.T.h"
- #include "HyperLink.h"
- #include ".\hyperlink.h"
- // CHyperLink
- IMPLEMENT_DYNAMIC(CHyperLink, CStatic)
- CHyperLink::CHyperLink()
- {
- }
- CHyperLink::~CHyperLink()
- {
- }
- BEGIN_MESSAGE_MAP(CHyperLink, CStatic)
- ON_WM_MOUSEMOVE()
- ON_CONTROL_REFLECT(STN_CLICKED, OnClicked)
- END_MESSAGE_MAP()
- // Gestionnaires de messages CHyperLink
- void CHyperLink::OnMouseMove(UINT nFlags, CPoint point)
- {
- CStatic::OnMouseMove(nFlags, point);
- ::SetCursor(AfxGetApp()->LoadCursor(MAKEINTRESOURCE(IDC_Hand)));
- }
- void CHyperLink::OnClicked()
- {
- ShellExecute(NULL, "open", m_Lien, NULL, NULL, SW_MAXIMIZE);
- }
|
-----Utilisation dans la Vue de type CFormView-----
CMyFormView.h : données membres à rajouter
Code :
- CHyperLink m_Porsolt;
- CHyperLink m_IUT;
|
Rajouter la routine DDX dans DoDataExchange()
Code :
- DDX_Control(pDX, IDC_Sigle_Porsolt, m_Porsolt);
- DDX_Control(pDX, IDC_Sigle_IUT, m_IUT);
|
Initialisation du lien (dans le constructeur de la classe CMyFormView()
Code :
- //Initialise les Liens vers les sites Internet
- m_Porsolt.m_Lien="http://www.porsolt.com";
- m_IUT.m_Lien="http://www.univ-rennes1.fr/iutren/geii";
|
Message édité par choupinou le 20-07-2004 à 10:00:39