Seuraavassa autolaskuri toteutettuna OWL 5.0:lla:
/****************/
/* laskuri.cpp */
/****************/
// Esimerkki Autolaskurista. Projektiin laskuri.cpp ja laskuri.rc
#include <owl\pch.h>
#include "..\laskuri.rh"
//------------------------------------------------------------------------------
class TLaskuriDialog : public TDialog {
public:
TLaskuriDialog(TWindow *parent, TResId resId, TModule *module = 0) :
TDialog(parent,resId,module) {}
virtual ~TLaskuriDialog() { Destroy(); }
void BNHAClicked() { SetDlgItemInt(HAL,GetDlgItemInt(HAL)+1); }
void BNKAClicked() { SetDlgItemInt(KAL,GetDlgItemInt(KAL)+1); }
void BNNollaaClicked() { SetDlgItemInt(HAL,0); SetDlgItemInt(KAL,0); }
void BNExitClicked() { Destroy(); }
DECLARE_RESPONSE_TABLE(TLaskuriDialog);
};
DEFINE_RESPONSE_TABLE1(TLaskuriDialog, TDialog)
EV_BN_CLICKED(HA,BNHAClicked),
EV_BN_CLICKED(KA,BNKAClicked),
EV_BN_CLICKED(NOLLAA,BNNollaaClicked),
EV_BN_CLICKED(EXIT,BNExitClicked),
END_RESPONSE_TABLE;
//------------------------------------------------------------------------------
class TLaskuriApp : public TApplication
{
public:
TLaskuriApp(const char *title) : TApplication(title) {}
void InitMainWindow() {
SetMainWindow(new TFrameWindow(0, Name,
new TLaskuriDialog(0, "LASKURI") , true)); // Tyyli WS_CHILD
}
};
/********************* Pääohjelma *********************************************/
int OwlMain(int ,char far * [])
{
return TLaskuriApp("Autolaskuri").Run();
}
class TLaskuriDialog : public TDialog {...
cLaskuri hal,kal;
...
void BNHAClicked() { hal++; }
void BNKAClicked() { kal++; }
void BNNollaaClicked() { hal = kal = 0; }
...