//////////////////////////////////////////////////////////////////////////////// // Demo 10 teht 5-8 // tekijä Jussi Passi // Projektiin: vaalit.cpp, vaalit.rc, // ALI\transdlg.c, ALI\language.c, ALI\mjonot.c //////////////////////////////////////////////////////////////////////////////// #include #include #include #include #include #include #include "owl\intlabel.h" #include "owl\owltrans.h" #include "vaalit.rh" #define VALINTOJA 3 static const char *const valinnat[VALINTOJA] = {"Kyllä","Ei","En osaa sanoa"}; class TVaalitDialog : public TDialog { int aanet[VALINTOJA]; // äänten lukumäärät 0 = Kyllä, 1 = Ei, 2 = Eos int nappulan_tila; // 0 = Kyllä, 1 = Ei, 2 = Eos TRadioButton RbKylla; TRadioButton RbEi; TRadioButton RbEos; TCheckBox CbVarmista; TCheckBox CbEnglish; // Tr TIntLabel *StInt[VALINTOJA]; public: TVaalitDialog(TWindow *Parent,TResId resId, TModule *module=0); void SetupWindow() { TDialog::SetupWindow(); // RbKylla.Check(); // Jos halutaan oletusarvo } ~TVaalitDialog(); void Aani(WPARAM id) { nappulan_tila = id - ID_RB_KYLLA; // radiobuttoneitten id:t 100 - 102 } // tilat vastaavassa järjestyksessä, 0 - 2 void AaniK() { nappulan_tila = 0; } // Kun en saa OWL 2.5:ssa toimimaan void AaniEi() { nappulan_tila = 1; } // EV_COMMAND_AND_ID!!! void AaniEos() { nappulan_tila = 2; } int Varmista(); void Aanesta(); void Kaanna() { // Tr if ( CbEnglish.GetCheck() == BF_CHECKED ) TranslateProgramAndRead(*this,"vaalit.tra"); else TranslateProgram(*this,1); } DECLARE_RESPONSE_TABLE(TVaalitDialog); }; DEFINE_RESPONSE_TABLE1(TVaalitDialog, TDialog) EV_BN_CLICKED(ID_BN_AANESTA, Aanesta), EV_BN_CLICKED(ID_CB_ENGLISH, Kaanna), // Tr // EV_COMMAND_AND_ID(ID_RB_KYLLA, Aani), // EV_COMMAND_AND_ID(ID_RB_EI, Aani), // EV_COMMAND_AND_ID(ID_RB_EOS, Aani), EV_BN_CLICKED(ID_RB_KYLLA, AaniK), EV_BN_CLICKED(ID_RB_EI, AaniEi), EV_BN_CLICKED(ID_RB_EOS, AaniEos), END_RESPONSE_TABLE; TVaalitDialog::TVaalitDialog(TWindow *Parent,TResId resId, TModule *module) : TDialog(Parent, resId, module), RbKylla(this, ID_RB_KYLLA), RbEi(this, ID_RB_EI), RbEos(this, ID_RB_EOS), CbVarmista(this, IDC_CB_VARMISTUS), CbEnglish(this, ID_CB_ENGLISH) // Tr { nappulan_tila = -1; // Alussa mikään radiobuttoneista ei ole valittu for (int i=0; iSetIcon(this, IDI_ICON1); #if (__BORLANDC__ >= 0x500) fw->SetIconSm(this, IDI_ICON1); #endif fw->SetFlag(wfShrinkToClient); SetMainWindow(fw); } }; int OwlMain(int, char far * []) { return TVaalitApp("Vaalipaneeli").Run(); }