Prev Next Up Title Contents Index

owl5\laskuri.cpp


Seuraavassa autolaskuri toteutettuna OWL 5.0:lla:

apf\owl5\laskuri.cpp - OWL 5.0 -versio autolaskurista

	/****************/
	/* 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();
	}

Tehtävä 5.43 cLaskuri

Lisää laskuri.cpp:hen luokka cLaskuri, jonka avulla itse tapahtumat saadaan "siistiksi":
	class TLaskuriDialog : public TDialog {...
	  cLaskuri hal,kal;
	...
	  void BNHAClicked()         { hal++;          }
	  void BNKAClicked()         { kal++;          }
	  void BNNollaaClicked()     { hal = kal = 0;  }
	...


Prev Next Up Title Contents Index