#include using namespace Upp; inline int CharFilterToUpperAscii(int c) { return ToUpper(ToAscii(c)); } int Sep(int c) { return c == ';' || c == ',' ? ';' : 0; } GUI_APP_MAIN { TopWindow win; SuggestCtrl ctrl; static const char *cpp[] = { "namespace", "asm", "__asm", "else", "struct", "enum", "switch", "auto", "__except", "template", "explicit", "this", "bool", "extern", "mutable", "thread", "break", "false", "throw", "case", "__fastcall", "true", "catch", "__finally", "new", "try", "__cdecl", "float", "__try", "char", "wchar_t", "for", "operator", "typedef", "class", "friend", "private", "typeid", "const", "goto", "protected", "typename", "const_cast", "if", "public", "union", "continue", "inline", "register", "unsigned", "__declspec", "__inline", "reinterpret_cast", "using", "using", "default", "int", "return", "delete", "__int8", "short", "__uuidof", "dllexport", "__int16", "signed", "virtual", "dllimport", "__int32", "sizeof", "void", "do", "__int64", "static", "volatile", "double", "__leave", "static_cast", "dynamic_cast", "long", "__stdcall", "while", "force_inline", "and", "bitor", "or", "xor", "compl", "bitand", "and_eq", "or_eq", "xor_eq", "not", "not_eq", "char16_t", "char32_t", "constexpr", "decltype", "noexcept", "nullptr", "static_assert", "override", "final" }; for(int i = 0; i < __countof(cpp); i++) ctrl.AddList(cpp[i]); ctrl.Delimiter(Sep); ctrl.CompareFilter(CharFilterToUpperAscii); win.Add(ctrl.HSizePos().TopPos(0)); win.Run(); }