home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
ocl150a.zip
/
OCL
/
Samples
/
Listbox
/
Source
/
Listbox.cpp
next >
Wrap
C/C++ Source or Header
|
1996-08-12
|
2KB
|
139 lines
// OCL Sample
// Listbox.cpp
#ifdef __BCPLUSPLUS__
#define __MSC
#endif
#define __OCL_RESOLVE_TEMPLATES__
#include "..\Source\Listbox.hpp"
void main(void)
{
BoxSample sample;
try
{
sample.init();
}
catch(OPMException err)
{
err.viewError();
_exit(1);
}
OApp::current().run();
}
BoxSample::BoxSample()
: OFrame(BOX_MAIN)
{}
BoxSample::~BoxSample()
{
if (box) delete box;
}
void BoxSample::run()
{
BOOL continuable = TRUE;
while(continuable)
{
continuable = FALSE;
try
{
OApp::run();
}
catch(LBException *except)
{
OString str("Exception of type \"");
str + except->isOfType();
str + "\" caught and handled.";
DosBeep(100, 100);
box->insertItem(str);
delete except;
continuable = TRUE;
}
catch(OPMException except)
{
except.viewError();
}
}
}
void BoxSample::init()
{
winText << "ListBox Sample";
createFrame(winText);
box = new OListBox(ID_LISTBOX, this, LS_NOADJUSTPOS | LS_HORZSCROLL);
box->createListBox(0, 0, 0, 0).setFont("10.Helv").setForeColor(RGB_BLUE);
sizepos.cx = 400;
sizepos.cy = 300;
setSizePosFrame(HWND_TOP, sizepos, SWP_SIZE | SWP_SHOW | SWP_ACTIVATE);
}
BOOL BoxSample::OCommand(ULONG msg, MPARAM mp1, MPARAM mp2)
{
switch(msg)
{
case WM_SIZE:
if (box)
WinSetWindowPos(box->hwnd, 0, 0, 0, SHORT1FROMMP(mp2), SHORT2FROMMP(mp2), SWP_SIZE | SWP_SHOW );
break;
case WM_COMMAND:
switch(SHORT1FROMMP(mp1))
{
case BOX_QUIT:
WinSendMsg(hwnd, WM_CLOSE, NULL, NULL);
break;
case BOX_EXCEPTION:
throw new LBException;
}
break;
case WM_CLOSE:
forceQuit();
break;
default:
return(FALSE);
}
return(TRUE);
#ifdef __BCPLUSPLUS__
#pragma warn -par
#endif
}
#ifdef __BCPLUSPLUS__
#pragma warn .par
#endif
LBException::LBException()
: OException(NULL, 0, OException::unrecoverable)
{}
LBException::~LBException()
{}
void LBException::viewError()
{}
// end of source