150 lines
3.9 KiB
C++
150 lines
3.9 KiB
C++
|
// DLG_GroupSelect.cpp : implementation file
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "corpsms.h"
|
|||
|
#include "DLG_GroupSelect.h"
|
|||
|
|
|||
|
#ifdef _DEBUG
|
|||
|
#define new DEBUG_NEW
|
|||
|
#undef THIS_FILE
|
|||
|
static char THIS_FILE[] = __FILE__;
|
|||
|
#endif
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_GroupSelect dialog
|
|||
|
|
|||
|
|
|||
|
DLG_GroupSelect::DLG_GroupSelect(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(DLG_GroupSelect::IDD, pParent)
|
|||
|
{
|
|||
|
//{{AFX_DATA_INIT(DLG_GroupSelect)
|
|||
|
// NOTE: the ClassWizard will add member initialization here
|
|||
|
//}}AFX_DATA_INIT
|
|||
|
|
|||
|
m_lUserID = -1;
|
|||
|
m_strGroup = "˽<EFBFBD><EFBFBD>ͨѶ¼";
|
|||
|
m_bGroup = false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void DLG_GroupSelect::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
//{{AFX_DATA_MAP(DLG_GroupSelect)
|
|||
|
DDX_Control(pDX, IDC_USERSELECT_TREE, m_wndTree);
|
|||
|
//}}AFX_DATA_MAP
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(DLG_GroupSelect, CDialog)
|
|||
|
//{{AFX_MSG_MAP(DLG_GroupSelect)
|
|||
|
ON_NOTIFY(NM_DBLCLK, IDC_USERSELECT_TREE, OnDblclkUserselectTree)
|
|||
|
//}}AFX_MSG_MAP
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////
|
|||
|
// DLG_GroupSelect message handlers
|
|||
|
|
|||
|
BOOL DLG_GroupSelect::OnInitDialog()
|
|||
|
{
|
|||
|
CDialog::OnInitDialog();
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б<EFBFBD>
|
|||
|
m_Image.Create( 20 , 20 , ILC_COLOR32|ILC_MASK , 5 , 1);
|
|||
|
CBitmap bmp;
|
|||
|
bmp.LoadBitmap( IDB_F_FOLDER );
|
|||
|
m_Image.Add( &bmp , RGB(255,255,255) ); //<2F>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
bmp.DeleteObject(); bmp.LoadBitmap( IDB_F_FOLDER_O );
|
|||
|
m_Image.Add( &bmp , RGB(255,255,255) ); //<2F>ļ<EFBFBD><C4BC><EFBFBD>-<2D><><EFBFBD><EFBFBD>
|
|||
|
bmp.DeleteObject(); bmp.LoadBitmap( IDB_F_GADDRESS );
|
|||
|
m_Image.Add( &bmp , RGB(255,255,255) ); //<2F><><EFBFBD>õ<EFBFBD>ַ<EFBFBD><D6B7>
|
|||
|
bmp.DeleteObject(); bmp.LoadBitmap( IDB_L_USER_NOR );
|
|||
|
m_Image.Add( &bmp , RGB(193,193,193) ); //<2F>û<EFBFBD>
|
|||
|
|
|||
|
m_wndTree.SetBkColor( RGB(180,213,170) );
|
|||
|
m_wndTree.SetImageList(&m_Image, TVSIL_NORMAL );
|
|||
|
m_MainItem = m_wndTree.InsertItem( _T("˽<EFBFBD><EFBFBD>ͨѶ¼") , 2 , 2 );
|
|||
|
m_wndTree.SetItemData( m_MainItem , -1 );
|
|||
|
ShowGGroup( m_MainItem , _T("") );
|
|||
|
m_wndTree.Expand(m_MainItem,TVE_EXPAND);
|
|||
|
m_wndTree.SelectItem( m_MainItem );
|
|||
|
|
|||
|
return TRUE; // return TRUE unless you set the focus to a control
|
|||
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|||
|
}
|
|||
|
|
|||
|
void DLG_GroupSelect::SetParam(CMainFrame *pFrame)
|
|||
|
{
|
|||
|
m_pMainFrame = pFrame;
|
|||
|
m_AdoRS.SetAdoConnection( &pFrame->m_adoConnection );
|
|||
|
}
|
|||
|
|
|||
|
long DLG_GroupSelect::GetParam(CString &strGroup)
|
|||
|
{
|
|||
|
strGroup = m_strGroup;
|
|||
|
return 1;
|
|||
|
}
|
|||
|
|
|||
|
BOOL DLG_GroupSelect::ShowGGroup(HTREEITEM hMainItem, TCHAR *pGroupID)
|
|||
|
{
|
|||
|
CAdoRecordSet AdoRS;
|
|||
|
AdoRS.SetAdoConnection( &m_pMainFrame->m_adoConnection );
|
|||
|
TCHAR szSelect[128]={0};
|
|||
|
_stprintf( szSelect , _T("select * from paddress where GroupID like '%s_' AND UserType='0' ") , pGroupID );
|
|||
|
BOOL b = AdoRS.Open( szSelect );
|
|||
|
long lCount = AdoRS.GetRecordCount();
|
|||
|
if ( b && lCount )
|
|||
|
{
|
|||
|
AdoRS.MoveFirst();
|
|||
|
while( !AdoRS.IsEOF() )
|
|||
|
{
|
|||
|
TCHAR szGroupID[16]={0};
|
|||
|
TCHAR szName[16]={0};
|
|||
|
long lUserID=0;
|
|||
|
AdoRS.GetCollect( _T("GroupID") , szGroupID );
|
|||
|
AdoRS.GetCollect( _T("Name") , szName );
|
|||
|
AdoRS.GetCollect( _T("UserID") , lUserID );
|
|||
|
HTREEITEM hItem = m_wndTree.InsertItem( szName , 0,1 , hMainItem );
|
|||
|
m_wndTree.SetItemData( hItem , lUserID );
|
|||
|
ShowGGroup( hItem , szGroupID );
|
|||
|
AdoRS.MoveNext();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
void DLG_GroupSelect::OnDblclkUserselectTree(NMHDR* pNMHDR, LRESULT* pResult)
|
|||
|
{
|
|||
|
*pResult = 0;
|
|||
|
|
|||
|
OnOK();
|
|||
|
}
|
|||
|
|
|||
|
void DLG_GroupSelect::OnOK()
|
|||
|
{
|
|||
|
HTREEITEM hItem = m_wndTree.GetSelectedItem();
|
|||
|
if ( !hItem )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD>״<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
if ( m_MainItem == hItem )
|
|||
|
{
|
|||
|
MessageBox( _T("<EFBFBD>㲻<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),MB_ICONWARNING);
|
|||
|
return ;
|
|||
|
}
|
|||
|
m_strGroup = m_wndTree.GetItemText(hItem);
|
|||
|
m_lUserID = m_wndTree.GetItemData(hItem);
|
|||
|
int iImage=0;
|
|||
|
int iSImage=0;
|
|||
|
m_wndTree.GetItemImage(hItem,iImage,iSImage);
|
|||
|
if ( iImage==0 || iImage== 2 )
|
|||
|
m_bGroup = true;
|
|||
|
else
|
|||
|
m_bGroup = false;
|
|||
|
|
|||
|
CDialog::OnOK();
|
|||
|
}
|