Customized Class for MessageBox

Environment: VC6

Have you ever tried place a customized icon in a messagebox? Maybe not. This class helps you to do so. Just add the files to your existing project and add the Msgbox.h as a header to view.cpp file. That's it, you are ready to display an icon of your choice in the MessageBox from the resources. The function name used in the project is same as the one which is used to display messagebox in Visual Basic (MsgBox) which takes 3 or 4 parameters depending on the user's choice whether to display a customized icon or the standard ones.

//Customized class for MessageBox
//Author -	Vikram Kashyap
//Created on - 10th January 2002

//Allows the user to display an icon of his own 
//in the messagebox.

#include "stdafx.h"
#include "MsgBox.h"

int MsgBox( CString lpszTitle,
            CString lpszText, 
            int nResourceID,
            int nButtons)
{
  MSGBOXPARAMS msgBox;
  msgBox.cbSize = sizeof(MSGBOXPARAMS);
  msgBox.dwStyle = MB_USERICON | nButtons;
  msgBox.hInstance = AfxGetApp()->m_hInstance;
  msgBox.hwndOwner = NULL;
  msgBox.lpszCaption = lpszTitle;
  msgBox.lpszIcon = MAKEINTRESOURCE(nResourceID);
  msgBox.lpszText = lpszText;
	
  MessageBoxIndirect(&msgBox);

  return TRUE;
}

int MsgBox( CString lpszTitle, 
            CString lpszText, 
            int nButtons)
{
  MSGBOXPARAMS msgBox;
  msgBox.cbSize = sizeof(MSGBOXPARAMS);
  msgBox.dwStyle = nButtons;
  msgBox.hInstance = NULL;
  msgBox.hwndOwner = NULL;
  msgBox.lpszCaption = lpszTitle;
  msgBox.lpszText = lpszText;
	
  MessageBoxIndirect(&msgBox);
  return TRUE;
}

Downloads

Download source - 1 Kb


Comments

  • newbie

    Posted by Legacy on 07/30/2002 12:00am

    Originally posted by: Mike

    How can I get the symbol? Simply writting IDB_BITMAPxy doesn't work :(

    Reply
  • Good tip,thanks

    Posted by Legacy on 01/20/2002 12:00am

    Originally posted by: Artem

    .

    Reply
  • One small change ...

    Posted by Legacy on 01/18/2002 12:00am

    Originally posted by: Thomas S�ldenwagner

    Following code :
    
    

    .
    .
    .
    MessageBoxIndirect(&msgBox);
    return TRUE;
    }


    ... shall be:

    .
    .
    .
    return MessageBoxIndirect(&msgBox);
    }

    Reply
  • Good work

    Posted by Legacy on 01/18/2002 12:00am

    Originally posted by: sanjeev.k

    Good work

    Reply
  • Which class?

    Posted by Legacy on 01/17/2002 12:00am

    Originally posted by: Thomas Freudenberg

    Those are simple functions, but not a class.

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • In support of their business continuity and disaster recovery plans, many midsized companies endeavor to avoid putting all their eggs in one basket. Understanding the critical role of last-mile connectivity and always available Internet access for their enterprises, savvy firms utilize redundant connections from multiple service providers. Despite the good intentions, their Internet connectivity risk may still be in a single basket. That is because internet service providers (ISPs) and competitive local …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds