示例#1
0
	CfgLangDialog(NCDialogParent *parent, char *id, ccollect<LangListNode> *nl)
	:	NCDialog(createDialogAsChild, 0, parent, utf8_to_unicode( _LT("Language") ).ptr(), bListOkCancel), 
		_selected(0),
		_list(Win::WT_CHILD,Win::WH_TABFOCUS|WH_CLICKFOCUS, 0, this, VListWin::SINGLE_SELECT, VListWin::BORDER_3D, 0),
		nodeList(nl)
		
	{ 
		_list.Append( utf8_to_unicode( _LT("Autodetect") ).ptr()); //0
		_list.Append( utf8_to_unicode( _LT("English") ).ptr()); //1
		
		for (int i = 0; i<nl->count(); i++)
			_list.Append( utf8_to_unicode(nl->get(i).name.ptr()).ptr() );
			
		int cur = 0;
		if (id[0] == '+') cur = 0;
		else if (id[0] == '-') cur = 1;
		else {
			for (int i = 0; i<nl->count(); i++)
				if (!strcmp(id, nl->get(i).id.ptr()))
				{
					cur = i+2;
					break;
				}
		}
		_list.MoveCurrent(cur);
		
		_list.Enable();
		_list.Show();
		_list.SetFocus();
		LSRange h(10, 1000, 10);
		LSRange w(50, 1000, 30);
		_list.SetHeightRange(h); //in characters
		_list.SetWidthRange(w); //in characters
		
		AddWin(&_list);
		SetEnterCmd(CMD_OK);
		SetPosition();
	};