home *** CD-ROM | disk | FTP | other *** search
- // CheckbuttonDlg.cpp : implementation file
- // High Tech BASIC, Copyright (C) TransEra Corp 1999, All Rights Reserved.
- // Sven Henze, Tech Soft GmbH 1999
-
- #include "stdafx.h"
- #include "Checkbutton.h"
- #include "CheckbuttonDlg.h"
- #include "export.h"
-
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
-
- #define BUTTONHEIGHT 21
- #define WIDTHADJUST 25
- #define STARTHEIGHT 370
- #define HEIGHTADJUST 30
-
-
- #define BUTTON1_BIT 0x0001
- #define BUTTON2_BIT 0x0002
- #define BUTTON3_BIT 0x0004
- #define BUTTON4_BIT 0x0008
- #define BUTTON5_BIT 0x0010
- #define BUTTON6_BIT 0x0020
- #define BUTTON7_BIT 0x0040
- #define BUTTON8_BIT 0x0080
- #define BUTTON9_BIT 0x0100
- #define BUTTON10_BIT 0x0200
- #define OTHER_BITS 0xFC00
- #define ALL_BITS 0x7FFF
-
- /////////////////////////////////////////////////////////////////////////////
- // CheckButtonDlg dialog
-
-
- CheckButtonDlg::CheckButtonDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CheckButtonDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CheckButtonDlg)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
-
- int i;
- short CheckMask;
-
- for ( i=0; i < MAXBUTTON; i++ )
- {
- ButtonStates[i] = FALSE;
- }
-
- CheckMask = 0x0001;
- for ( i = 0; i < MAXBUTTON; i++ )
- {
- if ( g_SavePressed & CheckMask )
- {
- ButtonStates[i] = TRUE;
- }
-
- CheckMask <<= 1;
-
- }
-
- if(g_SavePressed & OTHER_BITS)
- {
- ButtonStates[0] = TRUE;
- }
-
- } // CheckButtonDlg constructor
-
-
- void CheckButtonDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CheckButtonDlg)
- DDX_Control(pDX, IDC_CHECK1, Buttons[0]);
- DDX_Control(pDX, IDC_CHECK2, Buttons[1]);
- DDX_Control(pDX, IDC_CHECK3, Buttons[2]);
- DDX_Control(pDX, IDC_CHECK4, Buttons[3]);
- DDX_Control(pDX, IDC_CHECK5, Buttons[4]);
- DDX_Control(pDX, IDC_CHECK6, Buttons[5]);
- DDX_Control(pDX, IDC_CHECK7, Buttons[6]);
- DDX_Control(pDX, IDC_CHECK8, Buttons[7]);
- DDX_Control(pDX, IDC_CHECK9, Buttons[8]);
- DDX_Control(pDX, IDC_CHECK10, Buttons[9]);
- DDX_Check(pDX, IDC_CHECK1, ButtonStates[0]);
- DDX_Check(pDX, IDC_CHECK2, ButtonStates[1]);
- DDX_Check(pDX, IDC_CHECK3, ButtonStates[2]);
- DDX_Check(pDX, IDC_CHECK4, ButtonStates[3]);
- DDX_Check(pDX, IDC_CHECK5, ButtonStates[4]);
- DDX_Check(pDX, IDC_CHECK6, ButtonStates[5]);
- DDX_Check(pDX, IDC_CHECK7, ButtonStates[6]);
- DDX_Check(pDX, IDC_CHECK8, ButtonStates[7]);
- DDX_Check(pDX, IDC_CHECK9, ButtonStates[8]);
- DDX_Check(pDX, IDC_CHECK10, ButtonStates[9]);
- //}}AFX_DATA_MAP
- }
-
-
- BEGIN_MESSAGE_MAP(CheckButtonDlg, CDialog)
- //{{AFX_MSG_MAP(CheckButtonDlg)
- ON_BN_CLICKED(IDC_BUTTON13, OKPressed)
- ON_BN_CLICKED(IDC_BUTTON14, CancelPressed)
- ON_BN_CLICKED(IDC_CHECK1, OnCheckButton1)
- ON_BN_CLICKED(IDC_CHECK2, OnCheckButton2)
- ON_BN_CLICKED(IDC_CHECK3, OnCheckButton3)
- ON_BN_CLICKED(IDC_CHECK4, OnCheckButton4)
- ON_BN_CLICKED(IDC_CHECK5, OnCheckButton5)
- ON_BN_CLICKED(IDC_CHECK6, OnCheckButton6)
- ON_BN_CLICKED(IDC_CHECK7, OnCheckButton7)
- ON_BN_CLICKED(IDC_CHECK8, OnCheckButton8)
- ON_BN_CLICKED(IDC_CHECK9, OnCheckButton9)
- ON_BN_CLICKED(IDC_CHECK10, OnCheckButton10)
- ON_WM_CLOSE()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
-
- /////////////////////////////////////////////////////////////////////////////
- // CheckButtonDlg message handlers
-
- BOOL CheckButtonDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
-
- SetWindowText(g_Title); // set window title
-
- SetDlgItemText(IDC_TEXT0,g_Description); // set static text control text
- SetDlgItemText(IDC_TEXT1,g_grouptext); // group text
-
- CWnd* pStaticText = GetDlgItem(IDC_TEXT0); // get pointer to static text control text
- pStaticText->SetWindowPos(NULL,0,0,g_Width,BUTTONHEIGHT,SWP_NOZORDER | SWP_NOMOVE); // set width of static text control
-
- CWnd* pStaticGText = GetDlgItem(IDC_TEXT1); // get pointer to static text control text
- pStaticGText->SetWindowPos(NULL,0,0,g_Width,24+BUTTONHEIGHT*g_BtnCount,SWP_NOZORDER | SWP_NOMOVE); // set width of static text control
-
- CWnd* pOKButton = GetDlgItem(IDC_BUTTON13); // get pointer to OK button
- CWnd* pCancelButton = GetDlgItem(IDC_BUTTON14); // get pointer to OK button
-
- // center the 'OK' and 'Cancel buttons
- pOKButton->SetWindowPos(NULL,(g_Width+WIDTHADJUST)/2-72,74+(BUTTONHEIGHT*g_BtnCount),60,23,SWP_NOZORDER); // set position of OK button
- pCancelButton->SetWindowPos(NULL,(g_Width+WIDTHADJUST)/2+3,74+(BUTTONHEIGHT*g_BtnCount),60,23,SWP_NOZORDER); // set position of Cancel button
-
-
- long i;
-
- // Setup any used buttons
- for (i = 0; i < g_BtnCount; i++)
- {
- Buttons[i].SetWindowText(g_Text[i]); // set button text
- }
-
- // Destroy the remaining buttons if any...
- for (i = g_BtnCount; i < MAXBUTTON; i++)
- {
- Buttons[i].DestroyWindow();
- }
-
-
- // set window size
- SetWindowPos(NULL,0,0,g_Width+WIDTHADJUST,135+(BUTTONHEIGHT*g_BtnCount),SWP_NOZORDER );
-
- SetForegroundWindow();
-
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
-
- void CheckButtonDlg::OnCheckButton1()
- {
- *g_pPress ^= BUTTON1_BIT;
- UserAct(1);
- }
-
- void CheckButtonDlg::OnCheckButton2()
- {
- *g_pPress ^= BUTTON2_BIT;
- UserAct(2);
- }
-
- void CheckButtonDlg::OnCheckButton3()
- {
- *g_pPress ^= BUTTON3_BIT;
- UserAct(3);
- }
-
- void CheckButtonDlg::OnCheckButton4()
- {
- *g_pPress ^= BUTTON4_BIT;
- UserAct(4);
- }
-
- void CheckButtonDlg::OnCheckButton5()
- {
- *g_pPress ^= BUTTON5_BIT;
- UserAct(5);
- }
-
- void CheckButtonDlg::OnCheckButton6()
- {
- *g_pPress ^= BUTTON6_BIT;
- UserAct(6);
- }
-
- void CheckButtonDlg::OnCheckButton7()
- {
- *g_pPress ^= BUTTON7_BIT;
- UserAct(7);
- }
-
- void CheckButtonDlg::OnCheckButton8()
- {
- *g_pPress ^= BUTTON8_BIT;
- UserAct(8);
- }
-
- void CheckButtonDlg::OnCheckButton9()
- {
- *g_pPress ^= BUTTON9_BIT;
- UserAct(9);
- }
-
- void CheckButtonDlg::OnCheckButton10()
- {
- *g_pPress ^= BUTTON10_BIT;
- UserAct(10);
- }
-
-
-
- void CheckButtonDlg::OnClose()
- {
-
- CDialog::OnClose();
- }
-
-
-
- void CheckButtonDlg::UserAct(short select)
- {
-
- switch (g_Option)
- {
- case modal:
- EndDialog(select); // shut down modal dialog
- break;
-
- case signal:
- Signal(select); // set signal for SIGNAL option dialog
- break;
-
- default:
- break;
- }
-
- }
-
-
-
- void CheckButtonDlg::OKPressed()
- {
-
- // insert some processing here (Press)
- UserAct(1);
- return;
-
- }
-
-
- void CheckButtonDlg::CancelPressed()
- {
-
- // insert some processing here
- *g_pPress = ALL_BITS;
- EndDialog(0); // End Dialog if Cancel was pressed
-
- }
-