Hyperlink und Datei-Verknüpfung

JanikK

Grünschnabel
Ich brauche dringen eine Funktion mit der ich aus meinem Programm heraus eine Internetseite im Browser aufrufen kann.

Außerdem brauche ich eine Funktion die aus meinem Programm heraus eine Datei-Verknüpfung z.B. für's Startmenü erstellt.

Ich brauche beide Funktionen in C++

Danke für eure Hilfe.

JanikK

http://www.pro-score.de
 
Zuletzt bearbeitet:
zu 1:
Code:
ShellExecute(this->m_hWnd, "open", "http://www.irgendow.de", NULL, NULL, SW_SHOW);

zu 2:
Kann ich dir leider auch nicht sagen, normalerweiße dürfte das über die Registry gehen, aber frag mich net wo.

Gruss Homer
 
Danke!
die Funktion stimmt.
Aber wie bekomme ich noch ein Objekt in das Infodialogfeld, dass
wie ein Hyperlink aussieht( Blau, unterstrichen, Handcursor und wenn
es angeklickt wurde violett)

MFG Janik Kühn
 
Also am besten würde ich das mit einem normalen Static-Steuerelement machen. Das mit der Blauen-Schrift kann ich dir nicht sagen, wie, aber ich denke mal da musst du dich mit den Fonts Rumschlagen.
Den Mauszeiger würde ich bei der "Mouse-Move-Nachricht" des Dialogs umstellen und zwar genau wenn er über dem Static-Steuerelement ist, da musst du halt ein wenig mit den Koordinaten des Dialogs und des Static's rumspielen.

Gruss Homer
 
Zu 1. kannst Du Dir mal den angehängten Source (vom Codeguru) anschauen! Dies ist ein Beispiel für ein "Hyperlink" Control!
Da findest Du wie man sowas macht!

Und so bindest Du das Kontroll ein!

In Deiner Klassendeklaration:
Code:
#include "HyperLink.h"

class CHLSampleDlg : public CDialog
{
// Construction
public:
	CHLSampleDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CHLSampleDlg)
	enum { IDD = IDD_HLSAMPLE_DIALOG };
	CHyperLink	m_HyperLink;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CHLSampleDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	// Generated message map functions
	//{{AFX_MSG(CHLSampleDlg)
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

In der Implementation:
Code:
#include "stdafx.h"
#include "HLSample.h"
#include "HLSampleDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHLSampleDlg dialog

CHLSampleDlg::CHLSampleDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CHLSampleDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CHLSampleDlg)
	//}}AFX_DATA_INIT
}

void CHLSampleDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CHLSampleDlg)
	DDX_Control(pDX, IDC_HYPERLINK, m_HyperLink);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CHLSampleDlg, CDialog)
	//{{AFX_MSG_MAP(CHLSampleDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHLSampleDlg message handlers

BOOL CHLSampleDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_HyperLink.SetURL(_T("mailto:nobody@tutorials.de"));
	m_HyperLink.SetUnderline(FALSE);
	m_HyperLink.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_HAND));

	return TRUE;  // return TRUE  unless you set the focus to a control
}

Viel Spass damit!!!!
 

Anhänge

  • hyperlink_source.zip
    5,7 KB · Aufrufe: 25

Neue Beiträge

Zurück