/**************/ /* vaihtaja.c */ /**************************************************************************** PROGRAM: vaihtaja.c PURPOSE: Vaihtaa rahaa ja matkoja Ohjelmalla esitellään omatekoisten dialog boxien käyttöä. Pääikkuna tekee vain menun, jolla voidaan valita mikä dialog box tulee aktiiviseksi Skaalausvaihtajan oletusikkunana on luonnosta mitattu matka. Painamalla ENTER (IDOK) päästään aina tähän ikkunaan. Kun ikkunaan tullaan, valitaan koko ikkunassa oleva teksti, jotta uuden syöttäminen olisi helpompaa. Ikkunoiden toimintajärjestys on valittu Resource Workshopissa toiminnolla Options - Set order. Ikkunat ovat käytettävissä yhtäaikaa jos ne on luotu Modeless. Modeless-dialogien on käyttöön omat aliohjelmat, jotka tallettavat kaikki käyttöön otetut modeless dialogit. Modeless tai Modal dialogi valitaan kutsun perusteella Create() tai Execute() Itse dialogit voivat olla samoja. PROJECT: vaihtaja.cpp vaihtaja.rc vaihtaja.def // Win 3.11 scaling.cpp = scaling-dialogin käsittely. TEHTÄVIÄ: 1) Kokeile vaihdella dialogien käynnistykseen funktioita Execute Create 2) Täydennä rahanvaihto toiminto valmiiksi. 3) Kokeile muuttaa dialogin oletusjärjetystä (RWSHOP!) 4) Lisää ohjelmaan lämpötilojen muunnos. 5) Muuta ohjelmaa siten, että tunnetut muunnokset luetaan dialogin käynnistyessä tiedostosta .\SCALING.INI Editor: Vesa Lappalainen 26.10.1992 & 26.8.1994 & 10.11.1996 ****************************************************************************/ #include #include "scaling.h" #include "vaihtaja.rh" #if 1 typedef TFrameWindow cFrameWindow; #else typedef TDecoratedFrame cFrameWindow; // Tänne ei voi piirtää??? #endif //------------------------------------------------------------------------------ class TMainWindow : public cFrameWindow { public: TMainWindow(TWindow *Parent, LPCSTR ATitle) : cFrameWindow(Parent, ATitle,0) { Attr.AccelTable = IDA_PIKA; AssignMenu(IDM_PAAMENU); SetIcon(GetModule(),IDI_IKONI); #if (__BORLANDC__ >= 0x500) SetIconSm(GetModule(),IDI_IKONI); #endif // MoveWindow(20,20,400,400,FALSE); Attr.X = 10; Attr.Y = 20; Attr.W = 400; Attr.H = 400; SetBkgndColor(GetSysColor(COLOR_APPWORKSPACE)); } void Paint(TDC &dc,bool, TRect &) { // void EvPaint() { // TPaintDC dc(*this); dc.TextOut(10,10,"Valitse menusta ohjelma!"); } void CmExit() { CloseWindow(); } void CmScaling() { // TScalingDialog(this,IDD_SCALING).Execute(); RunScaling(this); } void CmChange() { TDialog(this,IDD_CHANGE).Execute(); } void CmAbout() { TDialog(this,IDD_ABOUT).Execute(); } DECLARE_RESPONSE_TABLE(TMainWindow); }; DEFINE_RESPONSE_TABLE1(TMainWindow,cFrameWindow) EV_WM_PAINT, EV_COMMAND(IDM_FILE_EXIT ,CmExit), EV_COMMAND(IDM_APP_SCALING ,CmScaling), EV_COMMAND(IDM_APP_MONEY ,CmChange), EV_COMMAND(CM_HELPABOUT ,CmAbout), END_RESPONSE_TABLE; //------------------------------------------------------------------------------ class TVaihtajaApp : public TApplication { public: TVaihtajaApp(const char far *name = 0) : TApplication(name) {}; void InitMainWindow() { MainWindow = new TMainWindow(NULL, Name); } }; //------------------------------------------------------------------------------ int OwlMain(int ,char far * []) { return TVaihtajaApp("Vaihtaja").Run(); }