00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 class CSchema;
00025
00026
00027 class CSchemaCombo : public CComboBox
00028 {
00029
00030 public:
00031 CSchemaCombo();
00032 virtual ~CSchemaCombo();
00033
00034
00035 public:
00036 CString m_sNoSchemaText;
00037 int m_nType;
00038 int m_nAvailability;
00039 protected:
00040 HWND m_hListBox;
00041 WNDPROC m_pWndProc;
00042 CString m_sPreDrop;
00043
00044
00045 public:
00046 void SetEmptyString(UINT nID);
00047 void Load(LPCTSTR pszSelectURI = NULL, int nType = 0, int nAvailability = 0, BOOL bReset = TRUE);
00048 void Select(LPCTSTR pszURI);
00049 void Select(CSchema* pSchema);
00050 CSchema* GetSelected() const;
00051 CString GetSelectedURI() const;
00052 protected:
00053 static LRESULT PASCAL ListWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam);
00054 int FindParam(DWORD nParam);
00055 BOOL OnClickItem(int nItem, BOOL bDown);
00056
00057
00058 public:
00059 virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
00060 virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
00061 virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
00062
00063
00064 protected:
00065 DECLARE_MESSAGE_MAP()
00066 afx_msg LRESULT OnCtlColorListBox(WPARAM wParam, LPARAM lParam);
00067 afx_msg void OnDropDown();
00068 };