本文整理汇总了C++中ListBox_GetCount函数的典型用法代码示例。如果您正苦于以下问题:C++ ListBox_GetCount函数的具体用法?C++ ListBox_GetCount怎么用?C++ ListBox_GetCount使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ListBox_GetCount函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReadMailDlgProc
BOOL CALLBACK LOADDS
ReadMailDlgProc(HWND hWndMail, UINT wMsg, WPARAM wParam, LPARAM lParam)
{
switch (wMsg)
{
case WM_INITDIALOG:
{
DWORD i;
// Do everything we need to display the message pointed to by
// mailPtr
if (!mailPtr)
break;
// Start with the basics...
SetDlgItemText(hWndMail, IDC_EDIT_SUBJECT, mailPtr->lpszSubject);
SetDlgItemText(hWndMail, IDC_EDIT_DATETIME, mailPtr->lpszDateReceived);
SetDlgItemText(hWndMail, IDC_EDIT_THREAD, mailPtr->lpszConversationID);
SetDlgItemText(hWndMail, IDC_EDIT_BODYTEXT, mailPtr->lpszNoteText);
char buf[1024];
wsprintf(buf, "%s (%s)", mailPtr->lpOriginator->lpszName,
mailPtr->lpOriginator->lpszAddress);
SetDlgItemText(hWndMail, IDC_EDIT_FROM, buf);
for (i=0; i<mailPtr->nRecipCount; i++)
{
wsprintf(buf, "%s (%s)", mailPtr->lpRecips[i].lpszName,
mailPtr->lpRecips[i].lpszAddress);
ListBox_InsertString(GetDlgItem(hWndMail, IDC_LIST_RECIPIENTS),
ListBox_GetCount(GetDlgItem(hWndMail, IDC_LIST_RECIPIENTS)),
buf);
}
for (i=0; i<mailPtr->nFileCount; i++)
{
ListBox_InsertString(GetDlgItem(hWndMail, IDC_LIST_ATTACHMENTS),
ListBox_GetCount(GetDlgItem(hWndMail, IDC_LIST_ATTACHMENTS)),
mailPtr->lpFiles[i].lpszPathName);
}
}
break;
case WM_COMMAND:
HANDLE_WM_COMMAND(hWndMail, wParam, lParam, ProcessReadMailCommand);
break;
default:
return FALSE;
}
return TRUE;
}
示例2: ST_LITERAL
void plAgeDescInterface::INewPage()
{
ST::string name = ST_LITERAL("New Page Name");
// Get the name of the new age from the user
int ret = DialogBoxParam(hInstance,
MAKEINTRESOURCE(IDD_AGE_NAME),
GetCOREInterface()->GetMAXHWnd(),
NewAgeDlgProc,
(LPARAM)&name);
if (ret != 1)
return;
HWND hPages = GetDlgItem(fhDlg, IDC_PAGE_LIST);
// Make sure this page doesn't already exist
int count = ListBox_GetCount(hPages);
for (int i = 0; i < count; i++)
{
char pageName[256];
ListBox_GetText(hPages, i, pageName);
if (!name.compare_i(pageName))
return;
}
// Add the new page and select it
int idx = ListBox_AddString(hPages, name.c_str());
// Choose a new sequence suffix for it
plAgePage *newPage = new plAgePage( name, IGetFreePageSeqSuffix( hPages ), 0 );
ListBox_SetItemData( hPages, idx, (LPARAM)newPage );
fDirty = true;
}
示例3: UpdateOutBasketStatus
/* This function updates the out-basket status
*/
void FASTCALL UpdateOutBasketStatus( void )
{
if( hwndOutBasket )
{
BOOL fIsEditable;
BOOL fHasItem;
BOOL fCanDelete;
HWND hwndList;
int nSelCount;
hwndList = GetDlgItem( hwndOutBasket, IDD_LIST );
fIsEditable = FALSE;
fHasItem = ( ListBox_GetCount( hwndList ) > 0 );
fCanDelete = FALSE;
if( ( nSelCount = ListBox_GetSelCount( hwndList ) ) > 0 )
{
OBINFO obinfo;
LPOB lpob;
int nSel;
ListBox_GetSelItems( hwndList, 1, &nSel );
lpob = (LPOB)ListBox_GetItemData( hwndList, nSel );
Amob_GetObInfo( lpob, &obinfo );
SetWindowText( GetDlgItem( hwndOutBasket, IDD_HOLD ), ( obinfo.obHdr.wFlags & OBF_HOLD ) ? GS(IDS_STR282) : GS(IDS_STR281) );
SetWindowText( GetDlgItem( hwndOutBasket, IDD_KEEP ), ( obinfo.obHdr.wFlags & OBF_KEEP ) ? GS(IDS_STR318) : GS(IDS_STR319) );
fIsEditable = !fInitiatingBlink && Amob_IsEditable( obinfo.obHdr.clsid ) && !TestF(obinfo.obHdr.wFlags, OBF_PENDING ) && !TestF(obinfo.obHdr.wFlags, OBF_ACTIVE );
fCanDelete = !fInitiatingBlink && !TestF(obinfo.obHdr.wFlags, OBF_PENDING ) && !TestF(obinfo.obHdr.wFlags, OBF_ACTIVE );
}
EnableControl( hwndOutBasket, IDOK, fIsEditable );
EnableControl( hwndOutBasket, IDD_LIST, fHasItem );
EnableControl( hwndOutBasket, IDD_DELETE, fCanDelete );
EnableControl( hwndOutBasket, IDD_HOLD, fHasItem && fCanDelete );
EnableControl( hwndOutBasket, IDD_KEEP, fHasItem && fCanDelete );
}
}
示例4: StatsListChangeStat
/*
* StatsListChangeStat: Redisplay current statistic, whose value has changed.
* Requires that s is a list type stat in the current group.
*/
void StatsListChangeStat(Statistic *s)
{
int index, top;
if (s->num < 0 || s->num > ListBox_GetCount(hList))
{
debug(("StatListChangeList got illegal stat #%d\n", (int) s->num));
return;
}
top = ListBox_GetTopIndex(hList);
index = StatListFindItem(s->num);
if (index == -1)
{
debug(("StatListChangeList got illegal stat #%d\n", (int) s->num));
return;
}
WindowBeginUpdate(hList);
ListBox_DeleteString(hList, index);
index = ListBox_AddString(hList, LookupNameRsc(s->name_res));
ListBox_SetItemData(hList, index, s);
ListBox_SetTopIndex(hList, top);
WindowEndUpdate(hList);
}
示例5: DisconnectDialogDone
static void
DisconnectDialogDone(HWND hDlg, BOOL bResult)
{
int i,Count;
NETRESOURCE *pNetRes;
HWND hListBoxWnd = GetDlgItem(hDlg,IDC_NETUI_DISCONLIST);
// Free all the NETRESOURCE structs
if ((Count = ListBox_GetCount(hListBoxWnd)) == LB_ERR)
DEBUGMSG(ZONE_ERROR,(DBGTEXT("!DisconnectDlgDone: LB_GETCOUNT failed")));
else {
for (i=0; i<Count; i++) {
pNetRes = (NETRESOURCE *)ListBox_GetItemData(hListBoxWnd,i);
if ((LRESULT)pNetRes == LB_ERR) {
DEBUGMSG(ZONE_ERROR,(DBGTEXT("!DisconnectDlgDone: LB_GETITEMDATA returned err %d"),
GetLastError()));
}
else if (pNetRes == NULL) {
DEBUGMSG(ZONE_ERROR,(DBGTEXT("!DisconnectDlgDone: LB_GETITEMDATA %d returned NULL"),i));
}
else
LocalFree(pNetRes);
}
}
if (!EndDialog(hDlg, bResult))
DEBUGMSG(ZONE_ERROR,(DBGTEXT("!DisconnectDlgDone: Error in EndDialog(%X): %u"),
hDlg,GetLastError()));
}
示例6: DeleteFromOutBasket
/* This function removes an item from the outbasket.
*/
void FASTCALL DeleteFromOutBasket( LPOB lpob )
{
/* Now closes down the window if there is one
* YH 03/05/96
*/
HWND hwndSay;
if( hwndSay = Amob_GetEditWindow( lpob ) )
SendDlgCommand( hwndSay, IDCANCEL, BN_CLICKED );
if( NULL != hwndOutBasket && !fIgnoreDeleteEvent )
{
HWND hwndList;
hwndList = GetDlgItem( hwndOutBasket, IDD_LIST );
if( hwndList )
{
int wCount;
int nSel;
wCount = ListBox_GetCount( hwndList );
for( nSel = 0; nSel < wCount; ++nSel )
if( (LPOB)ListBox_GetItemData( hwndList, nSel ) == lpob )
{
if( ListBox_DeleteString( hwndList, nSel ) == nSel )
--nSel;
if( ListBox_GetSelCount( hwndList ) == 0 )
ListBox_SetSel( hwndList, TRUE, nSel );
break;
}
}
UpdateOutBasketStatus();
}
}
示例7: LookSelChange
/*
* LookSelChange: We received a LBN_SELCHANGE message for the list box; see
* if a number item is being selected, and thus we should prompt for an amount.
*/
void LookSelChange(HWND hList)
{
int i, count;
Bool selected;
count = ListBox_GetCount(hList);
for (i=0; i < count; i++)
{
selected = (ListBox_GetSel(hList, i) > 0);
if (info->flags & LD_AMOUNTS && !info->selected[i] && selected)
{
// Selecting item
if (!GetAmountListBox(hList, i))
{
ListBox_SetSel(hList, FALSE, i);
info->selected[i] = False;
continue;
}
}
info->selected[i] = selected;
}
}
示例8: AddDialogString
void AddDialogString(HWND hWndDlg, const PageHash key)
{
TCHAR title[2048];
GetWindowText(hWndDlg, title, _countof(title));
if (mir_tstrlen(title) > 0)
AddFilterString(key, title);
TCHAR szClass[64];
GetClassName(hWndDlg, szClass, _countof(szClass));
if (mir_tstrcmpi(szClass, _T("SysTreeView32")) == 0) {
HTREEITEM hItem = TreeView_GetRoot(hWndDlg);
AddTreeViewNodes(hWndDlg, key, hItem);
return;
}
if (mir_tstrcmpi(szClass, _T("listbox")) == 0) {
if (GetWindowStyle(hWndDlg) & LBS_HASSTRINGS) {
int count = ListBox_GetCount(hWndDlg);
for (int i=0; i < count; i++) {
title[0] = 0; //safety
int res = ListBox_GetText(hWndDlg, i, title);
if (res != LB_ERR) {
title[_countof(title) - 1] = 0;
if (mir_tstrlen(title) > 0)
AddFilterString(key, title);
}
}
}
return;
}
if (mir_tstrcmpi(szClass, _T("SysListView32")) == 0) {
int count = ListView_GetItemCount(hWndDlg);
for (int i=0; i < count; i++) {
title[0] = 0; //safety
ListView_GetItemText(hWndDlg, i, 0, title, _countof(title));
if (mir_tstrlen(title) > 0)
AddFilterString(key, title);
}
return;
}
if (mir_tstrcmpi(szClass, _T("combobox")) == 0) {
if (GetWindowStyle(hWndDlg) & CBS_HASSTRINGS) {
int count = ComboBox_GetCount(hWndDlg);
for (int i=0; i < count; i++) {
title[0] = 0; //safety
int res = ComboBox_GetLBText(hWndDlg, i, title);
if (res != CB_ERR) {
title[_countof(title) - 1] = 0;
if (mir_tstrlen(title) > 0)
AddFilterString(key, title);
}
}
}
}
}
示例9: AppendLog
void AppendLog(char* str) {
HWND list = GetDlgItem(ghWndOutput, IDC_LST_OUTPUT);
ListBox_InsertString(list, -1,str);
ListBox_SetCurSel(list, ListBox_GetCount(list) - 1);
SetFocus(list);
}
示例10: GetDlgItem
void LoggerWin::platformShut()
{
if(hWnd != NULL)
{
char szLog[] = "--- GOING AWAY... PRESS SPACE BAR TO CONTINUE ---";
HWND hWndOutput = GetDlgItem(hWnd, IDC_MAIN_OUTPUT);
ListBox_AddString(hWndOutput, "");
ListBox_AddString(hWndOutput, szLog);
int count = ListBox_GetCount(hWndOutput);
ListBox_SetCaretIndex(hWndOutput, count - 1);
UpdateWindow(hWndOutput);
DialogBox(hInst, MAKEINTRESOURCE(IDD_DIALOG_PAUSE), hWnd, (DLGPROC)PauseDlgProc);
ProfileWin profile;
RECT rc;
if(GetWindowRect(hWnd, &rc))
profile.setSizeAndPosition(rc.right - rc.left, rc.bottom - rc.top, rc.left, rc.top);
DestroyWindow(hWnd);
hWnd = NULL;
}
UnregisterClass(szClassName, hInst);
}
示例11: ListBox_MoveString
int ListBox_MoveString(HWND hwndListBox, int iIndex, int iNewIndex, BOOL bRelativeToOld)
{
int iCount = ListBox_GetCount(hwndListBox);
int nExactNewIndex;
if (iIndex == 0 && iNewIndex < 0)
iNewIndex = 0;
nExactNewIndex = bRelativeToOld ? (iIndex + iNewIndex) : iNewIndex;
if ((bRelativeToOld && (iIndex + iNewIndex) >= iCount) ||
(iNewIndex >= iCount))
{
return (LB_ERR);
}
else
{
LPTSTR pszBuffer = (LPTSTR)Mem_AllocStr(ListBox_GetTextLen(hwndListBox, iIndex) + SZ);
LPVOID lpVoid = (LPVOID)ListBox_GetItemData(hwndListBox, iIndex);
ListBox_GetText(hwndListBox, iIndex, pszBuffer);
ListBox_DeleteString(hwndListBox, iIndex);
ListBox_InsertString(hwndListBox, nExactNewIndex, pszBuffer);
ListBox_SetItemData(hwndListBox, nExactNewIndex, lpVoid);
Mem_Free(pszBuffer);
}
return (nExactNewIndex);
}
示例12: RemoveItem
/////////////////////////////////////////////////////////////////////////
//Function: RemoveItem
//Description: remove a item from selected object list
/////////////////////////////////////////////////////////////////////////
void RemoveItem(HWND hDlg)
{
long nObjects ;
long Index ;
EnableWindow(GetDlgItem(hDlg, removeB), FALSE) ;
EnableWindow(GetDlgItem(hDlg, editB), FALSE) ;
/*nObjects = SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_GETSELCOUNT, 0, 0L) ;
if (nObjects!=0 &&(0!=SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_GETCOUNT, 0, 0)))
{
while(SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_GETSELITEMS, 1, (long) &Index) !=0)
{
SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_DELETESTRING, (WORD)Index, 0) ;
}
SendDlgItemMessage (hDlg, IDD_FIELDSLIST, LB_SETCARETINDEX, 0, 0) ;
}*/
nObjects = ListBox_GetSelCount (GetDlgItem(hDlg, IDD_FIELDSLIST)) ;
if(nObjects!=0&&(0!=ListBox_GetCount(GetDlgItem(hDlg, IDD_FIELDSLIST))))
{
while(ListBox_GetSelItems (GetDlgItem(hDlg,IDD_FIELDSLIST),1, &Index)!=0)
{
ListBox_DeleteString (GetDlgItem(hDlg, IDD_FIELDSLIST), Index) ;
}
ListBox_SetCaretIndex (GetDlgItem(hDlg, IDD_FIELDSLIST),0) ;
}
SetFocus(GetDlgItem (hDlg,IDD_FIELDSLIST)) ;
}
示例13: MaybeEnableAddButton
/*
* MaybeEnableAddButton: Enable/disable the "add spell" button
* depending on whether the currently selected spell in the available
* list box can be chosen.
*/
void MaybeEnableAddButton(HWND hDlg)
{
int i;
int school = 0;
Spell *s;
BOOL enable = TRUE;
int index = ListBox_GetCurSel(hList1);
if (index != LB_ERR)
{
// First find any chosen Qor/Shallile spells
for (i = 0; i < ListBox_GetCount(hList2); ++i)
{
s = (Spell *) ListBox_GetItemData(hList2, i);
if (s->school == SS_QOR || s->school == SS_SHALILLE)
school = s->school;
}
// If school of selected spell conflicts, disable button
s = (Spell *) ListBox_GetItemData(hList1, index);
if (school == SS_QOR && s->school == SS_SHALILLE ||
school == SS_SHALILLE && s->school == SS_QOR)
enable = FALSE;
}
EnableWindow(GetDlgItem(hDlg, IDC_ADDSPELL), enable);
}
示例14: raise_killed_monster
static char raise_killed_monster(HWND hDlg)
{
HWND listdlg = PrepareListWindow(hDlg);
HWND list = GetDlgItem(listdlg,IDC_LIST);
char buff[256];
int i;
int res;
for (i = 0;i<MAX_MOBS;i++) if (~mobs[i].vlajky & MOB_LIVE && mobs[i].cislo_vzoru != 0)
{
int p;
_snprintf(buff,sizeof(buff),"%4d. %s (sector: %d home %d)",i,mobs[i].name,mobs[i].sector,mobs[i].home_pos);
kamenik2windows(buff,strlen(buff),buff);
p = ListBox_AddString(list,buff);
ListBox_SetItemData(list,p,i);
}
res = PumpDialogMessages(listdlg);
while (res == IDOK)
{
int cnt;
for (i = 0,cnt = ListBox_GetCount(list);i<cnt;i++) if (ListBox_GetSel(list,i))
{
int idx = ListBox_GetItemData(list,i);
mobs[idx].vlajky |= MOB_LIVE;
mobs[idx].lives = mobs[idx].vlastnosti[VLS_MAXHIT];
wzprintf("%s znovu povstal(a)\r\n",mobs[idx].name);
SEND_LOG("(WIZARD) '%s' has been raised",mobs[idx].name,0);
}
res = PumpDialogMessages(listdlg);
}
CloseListWindow(listdlg);
return 1;
}
示例15: SendDlgItemMessage
void CSetDlgNetwork::OnBnClickedButtonAddTcp()
{
// TODO: ここにコントロール通知ハンドラー コードを追加します。
DWORD ip = 0;
SendDlgItemMessage(m_hWnd, IDC_IPADDRESS_TCP, IPM_GETADDRESS, 0, (LPARAM)&ip);
UINT tcpPort = GetDlgItemInt(m_hWnd, IDC_EDIT_PORT_TCP, NULL, FALSE);
NW_SEND_INFO item;
item.ip = ip;
item.port = tcpPort;
Format(item.ipString, L"%d.%d.%d.%d",
(item.ip&0xFF000000)>>24,
(item.ip&0x00FF0000)>>16,
(item.ip&0x0000FF00)>>8,
(item.ip&0x000000FF) );
wstring add = L"";
Format(add, L"%s:%d",item.ipString.c_str(), item.port);
item.broadcastFlag = FALSE;
HWND hItem = GetDlgItem(IDC_LIST_IP_TCP);
for( int i=0; i<ListBox_GetCount(hItem); i++ ){
WCHAR buff[256]=L"";
int len = ListBox_GetTextLen(hItem, i);
if( 0 <= len && len < 256 ){
ListBox_GetText(hItem, i, buff);
if(lstrcmpi(buff, add.c_str()) == 0 ){
return ;
}
}
}
int index = ListBox_AddString(hItem, add.c_str());
ListBox_SetItemData(hItem, index, (int)tcpSendList.size());
tcpSendList.push_back(item);
}