本文整理汇总了C++中CWndListBox::SetItemDataPtr方法的典型用法代码示例。如果您正苦于以下问题:C++ CWndListBox::SetItemDataPtr方法的具体用法?C++ CWndListBox::SetItemDataPtr怎么用?C++ CWndListBox::SetItemDataPtr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CWndListBox
的用法示例。
在下文中一共展示了CWndListBox::SetItemDataPtr方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnInitialUpdate
void CWndAdminCreateItem::OnInitialUpdate()
{
CWndNeuz::OnInitialUpdate();
CWndListBox* pListBox = (CWndListBox*)GetDlgItem( WIDC_CONTROL1 );
for( int i = 0; i < prj.m_aPropItem.GetSize(); i++ )
{
ItemProp* pItemProp = prj.GetItemProp( i );
if( pItemProp )
{
if( GetLanguage() != LANG_KOR && pItemProp->nVer >= 7 && pItemProp->bCharged == TRUE )
continue;
int nIndex = pListBox->AddString( MakeName( pItemProp ) );
pListBox->SetItemDataPtr( nIndex, pItemProp );
}
}
CWndComboBox* pWndItemKind = (CWndComboBox*)GetDlgItem( WIDC_ITEM_KIND );
CWndComboBox* pWndItemSex = (CWndComboBox*)GetDlgItem( WIDC_ITEM_SEX );
CWndComboBox* pWndItemJob = (CWndComboBox*)GetDlgItem( WIDC_ITEM_JOB );
CWndEdit* pWndLevel = (CWndEdit*)GetDlgItem( WIDC_LEVEL );
CStringArray strArray;
CScript::GetFindIdToArray( "IK2_", &strArray );
int nIndex = pWndItemKind->AddString( "ALL" );
pWndItemKind->SetItemData( nIndex, NULL_ID );
for( i = 0; i < strArray.GetSize(); i++ )
{
nIndex = pWndItemKind->AddString( strArray.GetAt( i ) );
DWORD dwNum = CScript::GetDefineNum( strArray.GetAt( i ) );
pWndItemKind->SetItemData( nIndex, dwNum );
}
pWndItemKind->m_wndListBox.SortListBox();
nIndex = pWndItemKind->m_wndListBox.FindString( 0, "ALL" );
pWndItemKind->SetCurSel( nIndex );
strArray.RemoveAll();
CScript::GetFindIdToArray( "SEX_", &strArray );
for( i = 0; i < strArray.GetSize(); i++ )
{
nIndex = pWndItemSex->AddString( strArray.GetAt( i ) );
DWORD dwNum = CScript::GetDefineNum( strArray.GetAt( i ) );
pWndItemSex->SetItemData( nIndex, dwNum );
}
pWndItemSex->SetCurSel( 2 );
strArray.RemoveAll();
CScript::GetFindIdToArray( "JOB_", &strArray );
nIndex = pWndItemJob->AddString( "ALL" );
pWndItemJob->SetItemData( nIndex, -1 );
for( i = 0; i < strArray.GetSize(); i++ )
{
nIndex = pWndItemJob->AddString( strArray.GetAt( i ) );
DWORD dwNum = CScript::GetDefineNum( strArray.GetAt( i ) );
pWndItemJob->SetItemData( nIndex, dwNum );
}
pWndItemJob->m_wndListBox.SortListBox();
nIndex = pWndItemJob->m_wndListBox.FindString( 0, "ALL" );
pWndItemJob->SetCurSel( nIndex );
// 좌표 이동
CRect rectRoot = m_pWndRoot->GetLayoutRect();
CRect rectWindow = GetWindowRect();
CPoint point( rectRoot.right - rectWindow.Width(), 110 );
Move( point );
MoveParentCenter();
}
示例2: OnChildNotify
BOOL CWndAdminCreateItem::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
ItemProp* pItemProp;
CWndListBox* pListBox = (CWndListBox*)GetDlgItem( WIDC_CONTROL1 );
if( nID == WIDC_ITEM_KIND || nID == WIDC_ITEM_SEX || nID == WIDC_ITEM_JOB || nID == WIDC_LEVEL )
{
if( message == WNM_SELCHANGE || message == EN_CHANGE )
{
DWORD dwLevel = 0;
CWndEdit* pWndEdit = (CWndEdit*)GetDlgItem( WIDC_LEVEL );
CString string = pWndEdit->GetString();
dwLevel = atoi( string );
CWndComboBox* pWndItemKind = (CWndComboBox*)GetDlgItem( WIDC_ITEM_KIND );
CWndComboBox* pWndItemSex = (CWndComboBox*)GetDlgItem( WIDC_ITEM_SEX );
CWndComboBox* pWndItemJob = (CWndComboBox*)GetDlgItem( WIDC_ITEM_JOB );
pListBox->ResetContent();
for( int i = 0; i < prj.m_aPropItem.GetSize(); i++ )
{
ItemProp* pItemProp = prj.GetItemProp( i );
DWORD dwKind = pWndItemKind->GetItemData( pWndItemKind->GetCurSel() );
DWORD dwSex = pWndItemSex->GetItemData( pWndItemSex->GetCurSel() );
DWORD dwJob = pWndItemJob->GetItemData( pWndItemJob->GetCurSel() );
if( pItemProp && ( pItemProp->dwItemKind2 == dwKind || dwKind == NULL_ID ) &&
( pItemProp->dwItemSex == dwSex || dwSex == SEX_SEXLESS ) )
{
if( pItemProp->dwLimitLevel1 >= dwLevel && ( pItemProp->dwItemJob == dwJob || dwJob == -1 ) )
{
if( GetLanguage() != LANG_KOR && pItemProp->nVer >= 7 && pItemProp->bCharged == TRUE )
continue;
int nIndex = pListBox->AddString( MakeName( pItemProp ) );
pListBox->SetItemDataPtr( nIndex, pItemProp );
}
}
}
}
}
else
if( nID == WIDC_OK || ( nID == WIDC_CONTROL1 && message == WNM_DBLCLK ) )
{
CString string;
CWndText* pWndItemName = (CWndText*)GetDlgItem( WIDC_ITEM_NAME );
CWndText* pWndItemNum = (CWndText*)GetDlgItem( WIDC_ITEM_NUM );
DWORD dwNum;
if( pWndItemNum->m_string.GetLength() )
{
dwNum = _ttoi(pWndItemNum->m_string);
}
else
{
dwNum = 1;
}
dwNum = ( dwNum == 0? 1:dwNum );
if( pWndItemName->m_string.GetLength() )
{
CString str2;
str2 = pWndItemName->m_string;
string.Format( "/ci %s %d",str2, dwNum);
ParsingCommand( string.LockBuffer(), g_pPlayer );
string.UnlockBuffer();
}
else
{
int nIndex = pListBox->GetCurSel();
if( nIndex != -1 )
{
pItemProp = (ItemProp*)pListBox->GetItemDataPtr( nIndex );
if( pItemProp )
{
string.Format( "/ci \"%s\" %d", pItemProp->szName, dwNum);
ParsingCommand( string.LockBuffer(), g_pPlayer );
string.UnlockBuffer();
}
}
}
// nID = WTBID_CLOSE;
}
else
if( nID == WIDC_CANCEL || nID == WTBID_CLOSE )
{
nID = WTBID_CLOSE;
Destroy( TRUE );
return TRUE;
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}