/****************/ /* kysyint.cpp */ /****************/ // Projektiin kysyint.cpp, kysyint.rc #include #include #include "kysyintv.rh" //------------------------------------------------------------------------------ class TKysyIntDialog : public TDialog { int &rluku; const char *Prompt; public: TKysyIntDialog(TWindow *parent,const char *s,int &arluku) : TDialog(parent,KYSYINT), rluku(arluku), Prompt(s) { } virtual ~TKysyIntDialog() { } void SetupWindow() { TDialog::SetupWindow(); SetWindowText(Prompt); SetDlgItemInt(IDE_LUKU,rluku); } void BNOk() { rluku = GetDlgItemInt(IDE_LUKU); CloseWindow(IDOK); } DECLARE_RESPONSE_TABLE(TKysyIntDialog); }; DEFINE_RESPONSE_TABLE1(TKysyIntDialog, TDialog) EV_BN_CLICKED(IDOK,BNOk), END_RESPONSE_TABLE; //------------------------------------------------------------------------------ class TPaaDialog : public TDialog { int luku; public: TPaaDialog(TWindow *parent, TResId resId, TModule *module = 0) : TDialog(parent,resId,module) { luku = 5; laita_luku(); } virtual ~TPaaDialog() { } void laita_luku() { char s[40]; sprintf(s,"Luku oli %d, heksana 0x%02x",luku,luku); SetDlgItemText(IDS_VASTAUS,s); } void BNExitClicked() { CloseWindow(); } void BNKysy() { if ( TKysyIntDialog(this,"Anna mulle luku",luku).Execute() == IDOK ) laita_luku(); } DECLARE_RESPONSE_TABLE(TPaaDialog); }; DEFINE_RESPONSE_TABLE1(TPaaDialog, TDialog) EV_BN_CLICKED(IDOK,BNExitClicked), EV_BN_CLICKED(IDB_KYSY,BNKysy), END_RESPONSE_TABLE; //------------------------------------------------------------------------------ class TLaskuriApp : public TApplication { public: TLaskuriApp(const char *title) : TApplication(title) {} void InitMainWindow() { SetMainWindow(new TFrameWindow(0, Name, new TPaaDialog(0, PAADIALOGI) , true)); // Tyyli WS_CHILD } }; /********************* Pääohjelma *********************************************/ int OwlMain(int ,char far * []) { return TLaskuriApp("Kysy int -testi").Run(); }