UNICODE 编程入门(2)

例子代码

下面通过一些简单的例子来进一步探讨 UNICODE 编程。

使用 ASCII 字符集的“Hello, World”:

//*********************************
//
用 MFC 实现的"Hello World!" 代码
//*********************************

//hello.cpp

#include <afxwin.h>

// Declare the application class

class CHelloApp : public CWinApp

{

public:

   virtual BOOL InitInstance();

};

// Create an instance of the application class

CHelloApp HelloApp;

// Declare the main window class

class CHelloWindow : public CFrameWnd

{

   CStatic* cs;

public:

   CHelloWindow();

};

// The InitInstance function is called each

// time the application first executes.

BOOL CHelloApp::InitInstance()

{

   m_pMainWnd = new CHelloWindow();

   m_pMainWnd->ShowWindow(m_nCmdShow);

   m_pMainWnd->UpdateWindow();

   return TRUE;

}

// The constructor for the window class

CHelloWindow::CHelloWindow()

{

   // Create the window itself

   Create(NULL, "Hello World!", WS_OVERLAPPEDWINDOW,

          CRect(0,0,200,200));

        

   // Create a static label

   cs = new CStatic();

   cs->Create("hello world", WS_CHILD|WS_VISIBLE|SS_CENTER,

              CRect(50,80,150,150), this);

}

修改上面的代码使之支持 UNICODE 字符集,串常量必须要改成对应的 UNICODE 字符。方法是对串常量使用TEXT 宏。这个宏将告诉预处理器检查使用什么样的字符标准:

// The constructor for the window class

CHelloWindow::CHelloWindow()

{

   // Create the window itself

   Create(NULL, TEXT("Hello World!"), WS_OVERLAPPEDWINDOW,

          CRect(0,0,200,200));

        

   // Create a static label

   cs = new CStatic();

   cs->Create( TEXT("hello world!"), WS_CHILD|WS_VISIBLE|SS_CENTER,

              CRect(50,80,150,150), this);

}

当预处理器碰到通用数据类型,它便检查 AFXWIN.H 头文件的 _UNICODE 定义。然后根据 UNICODE 定义插入相应的的数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值