258 lines
5 KiB
C++
258 lines
5 KiB
C++
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
FILENAME: ESButton.cpp
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
CLASS: ESButton
|
|||
|
This is a class to create a button window.
|
|||
|
*/
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#ifndef SNAPIN
|
|||
|
#include <windows.h>
|
|||
|
#endif
|
|||
|
|
|||
|
#include "errmacro.h"
|
|||
|
#include "ESButton.h"
|
|||
|
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Constructor - Initializes class variables.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
ESButton::ESButton(HWND hwndParent, UINT ButtonId, HINSTANCE hInstance)
|
|||
|
{
|
|||
|
m_hwndButton = CreateWindow(
|
|||
|
TEXT("Button"),
|
|||
|
TEXT("TEST"),
|
|||
|
WS_CHILD|BS_PUSHBUTTON,
|
|||
|
400,
|
|||
|
400,
|
|||
|
100,
|
|||
|
100,
|
|||
|
hwndParent,
|
|||
|
(HMENU)IntToPtr(ButtonId),
|
|||
|
hInstance,
|
|||
|
(LPVOID)IntToPtr(NULL));
|
|||
|
|
|||
|
if (m_hwndButton == NULL){
|
|||
|
DWORD dwErrorCode = GetLastError();
|
|||
|
}
|
|||
|
}
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Destroys the button window
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
ESButton::~ESButton()
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
if (IsWindow(m_hwndButton)){
|
|||
|
DestroyWindow(m_hwndButton);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
BOOL
|
|||
|
ESButton::ShowButton(int cmdShow)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
return ::ShowWindow(m_hwndButton, cmdShow);
|
|||
|
}
|
|||
|
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Initializes class variables.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::PositionButton(RECT* prcPos)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
MoveWindow(m_hwndButton,
|
|||
|
prcPos->left,
|
|||
|
prcPos->top,
|
|||
|
prcPos->right - prcPos->left,
|
|||
|
prcPos->bottom - prcPos->top,
|
|||
|
FALSE);
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Initializes class variables.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::SetText(TCHAR* szNewText)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
SetWindowText(m_hwndButton, szNewText);
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::LoadString(HINSTANCE hInstance, UINT labelResourceID)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
TCHAR cText[200];
|
|||
|
::LoadString(hInstance, labelResourceID, cText, sizeof(cText)/sizeof(TCHAR));
|
|||
|
SetWindowText(m_hwndButton, cText);
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Initializes class variables.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::SetFont(HFONT hNewFont)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
SendMessage(m_hwndButton, WM_SETFONT, (WPARAM)hNewFont, MAKELPARAM(TRUE, 0));
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Enables or disables the button.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::EnableButton(BOOL bEnable)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
if (bEnable != ::IsWindowEnabled(m_hwndButton)){
|
|||
|
EnableWindow(m_hwndButton, bEnable); // this repaints the button
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
returns the state of the button
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
Button State, true or false
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::IsButtonEnabled(void)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL)
|
|||
|
return ::IsWindowEnabled(m_hwndButton);
|
|||
|
else
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************************************************************************
|
|||
|
|
|||
|
COPYRIGHT<EFBFBD> 2001 Microsoft Corporation and Executive Software International, Inc.
|
|||
|
|
|||
|
METHOD DESCRIPTION:
|
|||
|
Enables or disables the button.
|
|||
|
|
|||
|
CLASS VARIABLES:
|
|||
|
|
|||
|
INPUT + OUTPUT:
|
|||
|
|
|||
|
RETURN:
|
|||
|
None.
|
|||
|
*/
|
|||
|
|
|||
|
BOOL ESButton::ShowWindow(UINT showState)
|
|||
|
{
|
|||
|
if (m_hwndButton != NULL){
|
|||
|
::ShowWindow(m_hwndButton, showState); // this repaints the button
|
|||
|
}
|
|||
|
|
|||
|
return TRUE;
|
|||
|
}
|