Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

65 lines
1.7 KiB

#ifndef COMBO_TOOLBAR_H
#define COMBO_TOOLBAR_H
#include <gencontrols.h>
#include <gencontainers.h>
#define RES_CH_MAX 256
extern HINSTANCE g_hDllInst;
#define STRING_RESOURCE_MODULE g_hDllInst
#define RES2T(uID, psz ) ( Res2THelper( uID, psz, RES_CH_MAX ) )
inline TCHAR* Res2THelper( UINT uID, TCHAR* psz, int cch )
{
if( LoadString( STRING_RESOURCE_MODULE, uID, psz, cch ) )
{
return psz;
}
return _T("");
}
// Private structure for defining a button
struct Buttons
{
int idbStates; // Bitmap ID for the states
UINT nInputStates; // Number of input states in the bitmap
UINT nCustomStates; // Number of custom states in the bitmap
int idCommand; // Command ID for WM_COMMAND messages
LPCTSTR pszTooltip; // Tooltip text
} ;
class CComboToolbar : public CToolbar
{
private:
CComboBox *m_Combobox;
int m_iCount;
CGenWindow **m_Buttons;
int m_iNumButtons;
void *m_pOwner; // pointer to owner (CAppletWindow*)
public:
CComboToolbar();
BOOL Create(HWND hwndParent, struct Buttons* buttons,
int iNumButtons, LPVOID owner);
virtual void OnDesiredSizeChanged();
void OnCommand(int id) { OnCommand(GetWindow(), id, NULL, 0); }
void HandlePeerNotification(T120ConfID confId, // handle PeerMsg
T120NodeID nodeID, PeerMsg *pMsg);
UINT GetSelectedItem(LPARAM *ItemData); // get selected item and data
void UpdateButton(int *iFlags); // update button state
protected:
virtual ~CComboToolbar();
virtual LRESULT ProcessMessage(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam);
private:
void OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
};
#endif /* COMBO_TOOLBAR_H */