Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

108 lines
2.0 KiB

#include "precomp.h"
#include "ComboBoxEx.h"
int ComboBoxEx_FindMember( HWND hwnd, int iStart, MEMBER_CHANNEL_ID *pMemberID)
{
int iSize = ComboBoxEx_GetCount( hwnd );
COMBOBOXEXITEM cbexFind;
if( iStart < 0 )
{
iStart = 0;
}
for( int i = iStart; i < iSize; i++ )
{
ClearStruct(&cbexFind);
cbexFind.iItem = i;
cbexFind.mask = CBEIF_LPARAM;
if( ComboBoxEx_GetItem( hwnd, &cbexFind ) )
{
MEMBER_CHANNEL_ID *_pMemberID;
_pMemberID = (MEMBER_CHANNEL_ID*)cbexFind.lParam;
if( _pMemberID != pMemberID ) continue;
}
else
{
return -1;
}
return i;
}
return -1;
}
T120NodeID ComboBoxEx_GetNodeIDFromSendID( HWND hwnd, T120UserID userID )
{
int iSize = ComboBoxEx_GetCount( hwnd );
COMBOBOXEXITEM cbexFind;
int iStart = 0;
for( int i = iStart; i < iSize; i++ )
{
ClearStruct(&cbexFind);
cbexFind.iItem = i;
cbexFind.mask = CBEIF_LPARAM;
if( ComboBoxEx_GetItem( hwnd, &cbexFind ) )
{
T120UserID _userID;
_userID = (cbexFind.lParam)?((MEMBER_CHANNEL_ID*)(cbexFind.lParam))->nSendId : 0;
if( userID != _userID ) continue;
}
else
{
return 0;
}
return (cbexFind.lParam)?((MEMBER_CHANNEL_ID*)(cbexFind.lParam))->nNodeId : 0;
}
return 0;
}
T120NodeID ComboBoxEx_GetNodeIDFromPrivateSendID( HWND hwnd, T120UserID userID )
{
int iSize = ComboBoxEx_GetCount( hwnd );
COMBOBOXEXITEM cbexFind;
int iStart = 0;
for( int i = iStart; i < iSize; i++ )
{
ClearStruct(&cbexFind);
cbexFind.iItem = i;
cbexFind.mask = CBEIF_LPARAM;
if( ComboBoxEx_GetItem( hwnd, &cbexFind ) )
{
T120UserID _userID;
_userID = (cbexFind.lParam)?((MEMBER_CHANNEL_ID*)(cbexFind.lParam))->nPrivateSendId : 0;
if( userID != _userID ) continue;
}
else
{
return 0;
}
return (cbexFind.lParam)?((MEMBER_CHANNEL_ID*)(cbexFind.lParam))->nNodeId : 0;
}
return 0;
}
void ComboBoxEx_SetHeight( HWND hwnd, int iHeight )
{
HWND hwndCombo = (HWND)SNDMSG( hwnd, CBEM_GETCOMBOCONTROL, 0, 0 );
::SetWindowPos( hwndCombo, NULL, 0, 0, 0, iHeight, SWP_NOMOVE | SWP_NOACTIVATE );
}