【MFC教程】window字符集

 

 mfc頭文件:

#include<afxwin.h>//mfc頭文件

class MyApp:public CWinApp //CWinApp 應用程序類
{
public:
	//程序入口
	virtual BOOL InitInstance();


};

class MyFrame:public CFrameWnd //窗口框架類

{
public:
	MyFrame();

	//聲明宏 提供消息映射機制
	DECLARE_MESSAGE_MAP();

	afx_msg void OnLButtonDown(UINT, CPoint);//鼠標按下

	afx_msg void OnChar(UINT,UINT,UINT);//鍵盤

	afx_msg void OnPaint();
};

mfc源文件:

#include"MfcTest.h"

MyApp app;//全局應用程序對象,有且僅有一個


BOOL MyApp::InitInstance()
{
	//創建窗口
	MyFrame * frame = new MyFrame;

	//顯示和更新
	frame->ShowWindow(SW_SHOWNORMAL);
	frame->UpdateWindow();
	
	m_pMainWnd = frame;//保存指向應用程序的主窗口的指針


	return TRUE;//返回正常初始化

}

BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd)
	
	ON_WM_LBUTTONDOWN()//鼠標左鍵按下

	ON_WM_CHAR()//鍵盤

	ON_WM_PAINT()//繪圖
END_MESSAGE_MAP()

MyFrame::MyFrame()
{
	Create(NULL,TEXT("mfc"));
}

void MyFrame::OnLButtonDown(UINT,CPoint point)
{
	/*TCHAR buf[1024];
	wsprintf(buf,TEXT("x = %d, y=%d"),point.x,point.y);

	MessageBox(buf);
	*/
	//mfc中的字符串 CString

	CString str;
	str.Format(TEXT("x = %d,y = %d"),point.x,point.y);
	MessageBox(str);

}
void MyFrame::OnChar(UINT key,UINT,UINT)
{
	CString str;

	str.Format(TEXT("按下了%c鍵"),key);

	MessageBox(str);
}

void MyFrame::OnPaint()
{
	CPaintDC dc(this);//畫家類 this 代表繪圖設備
	//CDC裏找其他能畫的圖形
	dc.TextOutW(100,100,TEXT("HELLO"));
	//畫橢圓
	dc.Ellipse(10,10,100,100);


	//多字節轉爲寬字節
	//TEXT是由自適應編碼的轉換
	//TCHAR 自適應編碼的轉換
	//MessageBox(L"aaa");


	//統計字符串長度
	int num = 0;
	char * p= "aaa";
	num = strlen(p);

	//統計寬字節的字符串長度
	wchar_t * p2 = L"aaa"; 
	num = wcslen(p2);

	//char * 與CString之間的轉換
	//char *  -> CString
	char *p3 = "ccc";
	CString str = CString(p3);
	//CString -> char *
	CStringA tmp;
	tmp = str;
	char *pp = tmp.GetBuffer();

	//char* 作爲過渡橋樑 CString <- char * -> C++ String
}



//英語 一個字符對應一個字節 多字節
//中文 多語言 一個字符對應多個字節 寬字節 Unicode utf-8 3個  GBK 2個

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章