Files
Client/Library/dxx8/samples/Multimedia/DirectShow/DMO/GargleDMO/ControlBase/controlhelp.h
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

72 lines
1.9 KiB
C++

//------------------------------------------------------------------------------
// File: ControlHelp.h
//
// Desc: DirectShow sample code - definitions of CSliderValue and
// CRadioChoice classes.
//
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#pragma once
class Handler
{
public:
virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) = 0;
};
class CSliderValue
: public Handler
{
public:
CSliderValue();
void Init(HWND hwndSlider, HWND hwndEdit, float fMin, float fMax, bool fDiscrete);
void SetValue(float fPos);
float GetValue();
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
private:
bool m_fInit;
HWND m_hwndSlider;
HWND m_hwndEdit;
float m_fMin;
float m_fMax;
bool m_fDiscrete;
private:
float GetSliderValue();
void UpdateEditBox(float fPos);
void UpdateSlider();
};
class CRadioChoice
: public Handler
{
public:
struct ButtonEntry
{
int nIDDlgItem;
LONG lValue;
};
// Create passing a ButtonEntry array terminated by an entry with nIDDlgItem of 0.
CRadioChoice(const ButtonEntry *pButtonInfo);
void SetChoice(HWND hDlg, LONG lValue);
LONG GetChoice(HWND hDlg);
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
private:
const ButtonEntry *m_pButtonInfo;
};
// MessageHandlerChain is a helper for implementing the property page message handler.
// It takes a NULL-terminated array of Message pointers (could be CSliderValue or CRadioChoice)
// and calls them in order until one of them sets bHandled.
LRESULT MessageHandlerChain(Handler **ppHandlers, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);