home *** CD-ROM | disk | FTP | other *** search
- //----------------------------------------------------------------------------
- // ObjectWindows - (C) Copyright 1993 by Borland International
- //----------------------------------------------------------------------------
- #include <owl\owlpch.h>
- #include <owl\applicat.h>
- #include <owl\dialog.h>
- #include <owl\framewin.h>
- #include <owl\vbxctl.h>
- #include "vbxctlx.h"
-
- class TTestDialog : public TDialog, public TVbxEventHandler {
- public:
- TTestDialog(TWindow* parent, const char* name);
-
- protected:
- void SetupWindow();
-
- // OWL Aliases for VBX controls in dialog
- //
- TVbxControl* Switch1;
- TVbxControl* Switch2;
- TVbxControl* Switch3;
- TVbxControl* Switch4;
- TVbxControl* Gauge1;
- TVbxControl* Gauge2;
- TVbxControl* Gauge3;
- TVbxControl* Gauge4;
-
- void EvTimer(UINT timerId);
- void EvDropSrc(VBXEVENT far* event);
- void EvDropDest(VBXEVENT far* event);
- void UpdateGauge(TVbxControl* sw, TVbxControl* ga);
-
- DECLARE_RESPONSE_TABLE(TTestDialog);
- };
-
- DEFINE_RESPONSE_TABLE2(TTestDialog, TDialog, TVbxEventHandler)
- EV_WM_TIMER,
- EV_VBXEVENTNAME(IDC_BIPICT1,"DragDrop",EvDropSrc),
- EV_VBXEVENTNAME(IDC_BIPICT2,"DragDrop",EvDropSrc),
- EV_VBXEVENTNAME(IDC_BIPICT3,"DragDrop",EvDropDest),
- END_RESPONSE_TABLE;
-
- TTestDialog::TTestDialog(TWindow* parent, const char* name)
- : TDialog(parent, name), TWindow(parent)
- {
- Switch1 = new TVbxControl(this, IDC_BISWITCH1);
- Switch2 = new TVbxControl(this, IDC_BISWITCH2);
- Switch3 = new TVbxControl(this, IDC_BISWITCH3);
- Switch4 = new TVbxControl(this, IDC_BISWITCH4);
- Gauge1 = new TVbxControl(this, IDC_BIGAUGE1);
- Gauge2 = new TVbxControl(this, IDC_BIGAUGE2);
- Gauge3 = new TVbxControl(this, IDC_BIGAUGE3);
- Gauge4 = new TVbxControl(this, IDC_BIGAUGE4);
- }
-
- void
- TTestDialog::SetupWindow()
- {
- TDialog::SetupWindow();
- SetTimer(1, 1); // As fast as possible
- }
-
- void
- TTestDialog::EvTimer(UINT /*timerId*/)
- {
- UpdateGauge(Switch1, Gauge1);
- UpdateGauge(Switch2, Gauge2);
- UpdateGauge(Switch3, Gauge3);
- UpdateGauge(Switch4, Gauge4);
- }
-
- void
- TTestDialog::UpdateGauge(TVbxControl *sw, TVbxControl* ga)
- {
- BOOL on=FALSE;
- int val=0;
- if( sw->GetProp("On", on) && on )
- if( ga->GetProp("Value", val) )
- ga->SetProp("Value", (val + 5) % 100);
- }
-
- void
- TTestDialog::EvDropSrc(VBXEVENT far * /*event*/)
- {
- MessageBeep(0);
- }
-
- void
- TTestDialog::EvDropDest(VBXEVENT far * event)
- {
- long pic;
- if (VBXGetPropByName(VBX_EVENTARGNUM(event,HCTL,0), "Picture", &pic))
- VBXSetPropByName(event->Control, "Picture", pic);
- }
-
- //----------------------------------------------------------------------------
-
- class TTestApp : public TApplication {
- public:
- TTestApp() : TApplication() {}
-
- protected:
- void InitMainWindow() {
- MainWindow = new TFrameWindow(0, "Dialog Tester", 0);
- MainWindow->AssignMenu("COMMANDS");
- }
- void CmTest() {TTestDialog(MainWindow, "SAMPLES").Execute();}
-
- DECLARE_RESPONSE_TABLE(TTestApp);
- };
-
- DEFINE_RESPONSE_TABLE(TTestApp)
- EV_COMMAND(CM_TEST, CmTest),
- END_RESPONSE_TABLE;
-
- int
- OwlMain(int, char**)
- {
- #if defined(__WIN32__)
- ::MessageBox(0, "This is not a 32 bit example", "OWL Examples", MB_OK);
- return 0;
-
- #else
- TBIVbxLibrary vbxLib; // constructing this loads & inits the library
- return TTestApp().Run();
-
- #endif
- }