Category : C++ Source Code
Archive   : BWCC.ZIP
Filename : BDDVTBTN.CPP

 
Output of file : BDDVTBTN.CPP contained in archive : BWCC.ZIP
/**********************************************************************/
/* BDDVTBTN.cpp by Bob Bourbonnais */
/* released to the public domain 1/26/92 */
/* This program shows how to switch to different */
/* routines based on the button pressed using */
/* Dynamic Dispatched Virtual Tables, DDVT */
/**********************************************************************/
#include
#include
#include "bwcc.h" // needed for BWCC

class TMyDialog : public TDialog
{
public:
TMyDialog(LPSTR lpDialogName) // constructor calls
: TDialog(NULL,lpDialogName) // base class constructor
{
BWCCGetVersion(); // activate Borland Windows Custom Controls
}
virtual void Ok(RTMessage Msg); // redefines the DDVT function
// for the OK button #1
// as defined in Base class
// TDialog
virtual void Cancel(RTMessage Msg); // redefines the DDVT for the
// cancel button in TDialog

// The following Dynamic Dispatch Virtual Functions are linked
// to their associated subroutines

virtual void HandleAbort(RTMessage Msg)
= [ID_FIRST + IDABORT]; // IDABORT is Button 3
virtual void HandleRetry(RTMessage Msg)
= [ID_FIRST + IDRETRY]; // IDRETRY is Button 4
virtual void HandleIgnore(RTMessage Msg)
= [ID_FIRST + IDIGNORE]; // IDIGNORE is Button 5
virtual void HandleYes(RTMessage Msg)
= [ID_FIRST + IDYES]; // IDYES is Button 6
virtual void HandleNo(RTMessage Msg)
= [ID_FIRST + IDNO]; // IDNO is Button 7
virtual void HandleButton8(RTMessage Msg)
= [ID_FIRST + 8]; // Button #8

virtual void DefChildProc(RTMessage Msg); // Default handler for
// Buttons not covered
// by DDVT
};
void TMyDialog::Ok(RTMessage Msg) // Redefines button handler inherited
{ // from TDailog for Button #1 IDOK
BWCCMessageBox(HWindow,"It will now call the IDOK in TDialog that will close this Dialog",
"Button #1 was pressed",MB_OK);
TDialog::Ok(Msg);
}
void TMyDialog::Cancel(RTMessage Msg) // Redefines button handler inherited
{ // from TDailog for Button #2 IDCANCEL
BWCCMessageBox(HWindow,"It will now call the IDCANCEL in the base classTDialog",
"Button #2 was pressed",MB_OK);
TDialog::Cancel(Msg);
}

void TMyDialog::HandleAbort(RTMessage)
{
BWCCMessageBox(HWindow,"The Abort Button was pressed",
"Button #3 was pressed",MB_OK);
}
void TMyDialog::HandleRetry(RTMessage)
{
BWCCMessageBox(HWindow,"The Retry button was pressed",
"Button #4 was pressed",MB_OK);
}
void TMyDialog::HandleIgnore(RTMessage)
{
BWCCMessageBox(HWindow,"The Ignore button was pressed",
"Button #5 was pressed",MB_OK);
}
void TMyDialog::HandleYes(RTMessage)
{
BWCCMessageBox(HWindow,"The Yes button was pressed",
"Button #6 was pressed",MB_OK);
}
void TMyDialog::HandleNo(RTMessage)
{
BWCCMessageBox(HWindow,"The No Button was pressed",
"Button #7 was pressed",MB_OK);
}
void TMyDialog::HandleButton8(RTMessage)
{
BWCCMessageBox(HWindow,"The Button labled Button was pressed",
"Button #8 was pressed",MB_OK);
}

void TMyDialog::DefChildProc(RTMessage Msg)
{
MessageBeep(0);
BWCCMessageBox(HWindow,"Not Implemented","Feature",MB_OK);
MessageBeep(0);
TDialog::DefChildProc(Msg);
}

class TDialog1App : public TApplication // Application Class to contain
{ // the application
public:
TDialog1App(LPSTR lpName, HANDLE hInstance, // constructor calls the
HANDLE hPrevInstance, // base class constructor
LPSTR lpCmdLine, int nCmdShow)
:TApplication(lpName, hInstance,
hPrevInstance,
lpCmdLine, nCmdShow) {};

virtual void InitMainWindow(); // overrides base class InitMainWindow
};

void TDialog1App::InitMainWindow() // to initialize a dialog box
{ // as the main window
MainWindow = new TMyDialog("MAINWINDOWDIALOG");
}

int PASCAL WinMain(HANDLE hInstance, // main entry point from
HANDLE hPrevInstance, // windows to this program
LPSTR lpCmdLine , int nCmdShow)
{
TDialog1App Dialog1("Dialog Tester",hInstance, // create instance of
hPrevInstance, // the dialog application
lpCmdLine,nCmdShow);
Dialog1.Run(); // run it
return (Dialog1.Status); // exit
}
/**********************************************************************/


  3 Responses to “Category : C++ Source Code
Archive   : BWCC.ZIP
Filename : BDDVTBTN.CPP

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/