windows-nt/Source/XPSP1/NT/enduser/netmeeting/ui/conf/callingbar.h
2020-09-26 16:20:57 +08:00

78 lines
1.9 KiB
C++

/****************************************************************************
*
* FILE: CallingBar.h
*
* CREATED: George Pitt 1-22-99
*
****************************************************************************/
#ifndef _CALLINGBAR_H_
#define _CALLINGBAR_H_
#include "GenContainers.h"
#include "GenControls.h"
#include "ConfUtil.h"
class CConfRoom;
struct RichAddressInfo;
// We are making some changes specifically for OSR2 beta, but we should rip them out afterwards
#define OSR2LOOK
class CCallingBar : public CToolbar, public IComboBoxChange
{
public:
CCallingBar();
BOOL Create(CGenWindow *pParent, CConfRoom *pConfRoom);
virtual HRESULT STDMETHODCALLTYPE QueryInterface(
/* [in] */ REFIID riid,
/* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject)
{
return(CToolbar::QueryInterface(riid, ppvObject));
}
virtual ULONG STDMETHODCALLTYPE AddRef( void)
{
return(CToolbar::AddRef());
}
virtual ULONG STDMETHODCALLTYPE Release( void)
{
return(CToolbar::Release());
}
virtual void OnTextChange(CComboBox *pEdit);
virtual void OnFocusChange(CComboBox *pEdit, BOOL bSet);
virtual void OnSelectionChange(CComboBox *pCombo);
int GetText(LPTSTR szText, int nLen);
void SetText(LPCTSTR szText);
protected:
virtual ~CCallingBar();
virtual LRESULT ProcessMessage(HWND hwnd, UINT uCmd, WPARAM wParam, LPARAM lParam);
virtual void OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
private:
// A pointer back to the global ConfRoom object for some functionality
CConfRoom *m_pConfRoom;
// The last rich address we were given
RichAddressInfo *m_pAddr;
// The edit text control in the bar
CComboBox *m_pEdit;
ITranslateAccelerator *m_pAccel;
// Last font set on the edit control
BOOL m_bUnderline : 1;
void SetEditFont(BOOL bUnderline, BOOL bForce=FALSE);
void ClearAddr(RichAddressInfo **ppAddr);
void ClearCombo();
void OnNewAddress(RichAddressInfo *pAddr);
} ;
#endif // _CALLINGBAR_H_