Ejemplo n.º 1
0
void CSbmfcsampleDlg::OnColumnclickServerlist(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;

	// track ascending/descending
	static bool ascending = false;
	ascending = !ascending;

	//figure out which column they clicked
	switch(pNMListView->iSubItem)
	{
	case COL_SERVERNAME:
		ServerBrowserSort(m_serverBrowser, (SBBool)ascending, "hostname", sbcm_stricase);
		break;
	case COL_PING:
		ServerBrowserSort(m_serverBrowser, (SBBool)ascending, "ping", sbcm_int);
		break;
	case COL_PLAYERS:
		ServerBrowserSort(m_serverBrowser, (SBBool)ascending, "numplayers", sbcm_int);
		break;
	case COL_MAPNAME:
		ServerBrowserSort(m_serverBrowser, (SBBool)ascending, "mapname", sbcm_stricase);
		break;
	case COL_GAMETYPE:
		ServerBrowserSort(m_serverBrowser, (SBBool)ascending, "gametype", sbcm_stricase);
		break;
	}

	// we don't want the server list to redraw every time we insert a server!
	m_serverList.SetRedraw(false);

	// clear the server list
	m_serverList.DeleteAllItems();

	// clear the server count
	m_serverCount = 0;
	m_servers.SetWindowText("0");

	// go through the list of servers
	for(int i = 0; i < ServerBrowserCount(m_serverBrowser) ; i++)
	{
		// if we got basic info for it, put it back in the list
		SBServer server = ServerBrowserGetServer(m_serverBrowser, i);
		if(SBServerHasBasicKeys(server))
			AddServer(server, FALSE);
	}

	// let the server list redraw itself now that we're done updating
	m_serverList.SetRedraw(true);
	
	*pResult = 0;
}
Ejemplo n.º 2
0
void		CClientDlg::RefillServersList			()
{
	OutputDebugString("CClientDlg::RefillServersList \n");
	ClearHostList();
	// clear the server count
	//	m_serverCount = 0;
	//	m_servers.SetWindowText("0");

	// go through the list of servers
	for(int i = 0; i < ServerBrowserCount(m_serverBrowser) ; i++)
	{
		// if we got basic info for it, put it back in the list
		SBServer server = ServerBrowserGetServer(m_serverBrowser, i);
		//		if(SBServerHasBasicKeys(server))
		AddServerToList(server);//, FALSE);
	}

	UpdateServersList();
};