WEB开发网
开发学院软件开发Python 细述 wxWindows 阅读

细述 wxWindows

 2008-09-30 13:05:33 来源:WEB开发网   
核心提示: Unicode 和国际化 (i18n)开发适用于国际市场的软件时,不能指望每个人都能阅读以英文表示的应用程序消息,细述 wxWindows(6),但广泛使用的 ANSI 代码又不能处理所有语言符号,(例如,可以存储有关在堆上分配的对象的额外信息,使用这些信息,它不能处理中文,)而同时编写

Unicode 和国际化 (i18n)

开发适用于国际市场的软件时,不能指望每个人都能阅读以英文表示的应用程序消息。但广泛使用的 ANSI 代码又不能处理所有语言符号。(例如,它不能处理中文。)而同时编写 ANSI 和 Unicode 又有些复杂,您可以从下例中领略到这一点:

ANSI 和 Unicode

#ifdef USE__UNICODE
  wchar_t wide_char = L'h';
  wchar_t const* wide_string = L"Hello, World!";
  int length = wcslen( wide_string );
#else
  char ansi_char = 'h';
  char const* ansi_string = "Hello, World!";
  int length = strlen( ansi_string );
#endif

而使用 wxWindows Unicode 能力就只需要编写以下代码:

wxT() 宏以及 wxChar 和 wxString

wxChar wx_char = wxT( '*' );
wxString wx_string = wxT( "Hello, World!" );
int length = wx_string.Len();

wxT() 宏以及 wxChar 和 wxString 类将处理所有问题。该库在内部对所有消息使用这种方法。当前有捷克语、丹麦语、德语、法语、意大利语和俄语译文可用,但您可以在 wxLocale 类的帮助下编译库的本地化版本后使用它。

调试

库提供了各种不同的类、函数和宏来帮助您调试应用程序。如果以调试方式来编译库,用于类 wxObject (wxWindows 中大多数类的基类)的 new 和 delete 操作符就已经重新定义,可以存储有关在堆上分配的对象的额外信息。使用这些信息,可以用类 wxDebugContext 来获得有关对象分配、内存泄露、覆盖和正在写入的详细信息。

// Start logging for Dump() call
wxDebugContext::SetCheckpoint();
wxString *thing = new wxString;
wxDate* date = new wxDate;
// non-object allocation
char *ordinaryNonObject = new char[1000];
// more ...
// Print number of object and non-object allocations
wxDebugContext::Dump();
// Print allocation statistics
wxDebugContext::PrintStatistics();

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:wxWindows

编辑录入:爽爽 [复制链接] [打 印]
    赞助商链接