VS2012創建MFC項目、第一個VS2012版MFC程序及MFC程序發佈(release)

         今天跟一個學建築的同學聊天時,得知最近他實習時遇到一件煩心事,他們工地上要建一個圓形的很大的建築物,需要用鋼筋將建築物鋪滿,鋼筋之間距離爲15cm,問求所有鋼筋的長度!這應該是一道很簡單的數學題。利用勾股定理:半徑的平方 - 圓心到鋼筋的平方 所得差再開方,讓後結果乘以2就能得到鋼筋的長度! 即:length = 2 * sqrt(r*r-d*d);

 

第一步:創建一個MFC的對話框

1、打開VS2012

2、選擇-文件-新建-項目

3、選擇-已安裝-模版-Visual C++ - MFC

4、選擇-MFC應用程序

5、輸入名稱、位置、解決方案名稱,點擊確定

6、點擊-下一步,然後選擇-基於對話框,單機完成即創建工程完畢

第二步:第一個VS2012版MFC程序

1、檢查右側工具箱是否出現,若沒有則在-視圖-工具箱-處打開

這樣就可以拖控件了

2、先把默認生成的控件給delete掉,然後需要兩個static Text、一個Edit Control、兩個Button控件,拖成如下佈局,對static Text和Button點擊右鍵-屬性,在Caption項中可以輸入控件內容如下圖所示

 

3、雙擊兩個Button會自動生成對應的單機事件響應函數,編寫如下代碼:

注意包含頭文件 #include <math.h>

選中項目單擊右鍵-屬性,選擇-配置屬性-常規-字符集,選擇-使用多字節字符集-因爲下面代碼的需要

/*
 * 開始計算
 */
void CCountRebarDlg::OnBnClickedButton1()
{
	CString radius ;//鋼筋半徑
	GetDlgItem(IDC_EDIT1)->GetWindowTextA(radius);
	float radiusLength = _tstof(radius);
	float count = radiusLength / 15.00 ;//鋼筋長度種類數量
	CString result ;
	for(int i = 1; i <= count; i ++)
	{
		float length = 2 * (float)sqrt((radiusLength*radiusLength-(i*15.00)*(i*15.00)));
		CString id;
		id.Format("%d",i);
		id += "=>";
		CString str;
		str.Format("%.2f",length);
		str += "cm\n";
		result += (id + str);
	}
	char* pFileName = "D:\\鋼筋長度.txt";
	CStdioFile f1;
	f1.Open( pFileName, CFile::modeCreate
       | CFile::modeWrite | CFile::typeText );
	f1.WriteString(result);
	f1.Close();
	MessageBox("數據已存入D:\\鋼筋長度.txt", "提示", 
		MB_ICONINFORMATION | MB_OK);
	
}

/*
 * 退出程序
 */
void CCountRebarDlg::OnBnClickedButton2()
{
	exit(0);
}

4、執行程序(F5)

輸入圓的半徑,點擊-開始計算-便能算出所有鋼筋的長度了,數據存在D:\鋼筋長度.txt

用記事本打開,如下:

第三步:MFC程序發佈(release)

1、在菜單欄中選擇-release-

2、在-項目-屬性--配置屬性-常規-字符集,選擇-使用多字節字符集-,MFC使用選擇-在靜態庫中使用 MFC-,點擊確定,重新按F5運行程序,最終在工作目錄D:\test\CountRebar\Release文件夾下發現可執行程序CountRebar.exe,另外一個叫做CountRebar.pdb的是MFC的輔助文件,可以不要。

於是將此可執行文件Countrebar.exe發給我的同學便可省事不少。

 

本人只是MFC入門選手,如有不對之處,請各位多多海涵!

 

 

 

 

 

 

發佈了28 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章