Click here to Skip to main content
15,886,798 members
Articles / Programming Languages / C++

MakeMessage - An STL 'replacement' for the FormatMessage API

Rate me:
Please Sign up or sign in to vote.
4.83/5 (17 votes)
4 Mar 2006CPOL8 min read 48.4K   371   24  
A function that uses STL strings and streams in an effort to mimic and improve on the FormatMessage API.
// FormatDemoDlg.h : header file
//

#if !defined(AFX_FORMATDEMODLG_H__DDBEC4C9_B9A1_4B54_9FAB_851659F049B1__INCLUDED_)
#define AFX_FORMATDEMODLG_H__DDBEC4C9_B9A1_4B54_9FAB_851659F049B1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CFormatDemoDlg dialog

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

// Dialog Data
	//{{AFX_DATA(CFormatDemoDlg)
	enum { IDD = IDD_FORMATDEMO_DIALOG };
	CStatic	m_Format;
	CStatic	m_Label;
	CEdit	m_Edit;
	//}}AFX_DATA

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

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CFormatDemoDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	virtual void OnOK();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_FORMATDEMODLG_H__DDBEC4C9_B9A1_4B54_9FAB_851659F049B1__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
President
Canada Canada
Father of two, brother of two, child of two.
Spouse to one, uncle to many, friend to lots.
Farmer, carpenter, mechanic, electrician, but definitely not a plumber.
Likes walks with the wife, board games, card games, travel, and camping in the summer.
High school graduate, college drop-out.
Hobby programmer who knows C++ with MFC and the STL.
Has dabbled with BASIC, Pascal, Fortran, COBOL, C#, SQL, ASM, and HTML.
Realized long ago that programming is fun when there is nobody pressuring you with schedules and timelines.

Comments and Discussions