c++多功能電子詞典課程設計_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  C++面向對象課程設計報告</p><p>  院(系): 計算機工程學院 </p><p>  專業(yè): 計算機科學與技術 </p><p>  學生姓名: _   </p><p>  班級:_

2、 _ 學號:    </p><p>  題目: 多功能電子詞典 _________ </p><p>  起迄日期: _2013.6.23~2013.7.5 </p><p>  設計地點: 計算機學院機房 </p><p>  指 導 教 師:

3、 </p><p>  完成日期: 2013 年7月 5 日</p><p><b>  目錄</b></p><p>  一、 需求分析 -------------------------------------------------------------------------------1

4、 </p><p>  選做此課題或項目的---------------------------------------------------------------1</p><p>  程序所實現的功能----------------------------------------------------------------

5、--2</p><p>  二、 設計內容---------------------------------------------------------------------------------3</p><p>  1. 根據所選題目,給出模塊圖-------------------------------------------------------4</p>

6、<p>  2. 畫出主程序及其主要模塊的流程圖----------------------------------------------5</p><p>  3. 編寫程序代碼-------------------------------------------------------------------------5</p><p>  三、 調試分析-------

7、-------------------------------------------------------------------------5</p><p>  1. 實際完成的情況說明(完成的功能,支持的數據類型等)。-------------6</p><p>  2. 程序的性能分析。----------------------------------------------

8、--------------------6</p><p>  3. 上機過程中出現的問題及其解決方案。---------------------------------------6</p><p>  4. 程序中可以改進的地方說明。--------------------------------------------------7</p><p>  5.

9、程序中可以擴充的功能及設計實現構想。------------------------------------7</p><p>  四、 用戶手冊---------------------------------------------------------------------------------7</p><p>  五、 設計總結-----------------------

10、---------------------------------------------------------14</p><p>  六、 參考文獻---------------------------------------------------------------------------------17</p><p>  七、 附錄--------------------

11、-------------------------------------------------------------------23</p><p><b>  一、需求分析</b></p><p>  隨著社會的發(fā)展,在人們生活中學習外語變得越來越重要。 現在許多文件和資料都是電子版,所以更多人喜歡通過電子工具學習外語。為了給外語學習者更多便利以及實現無紙化的

12、教育,基于以上的原因開發(fā)了這款多功能電子詞典。</p><p>  這個系統(tǒng)是基于電腦桌面程序的電子詞典,它主要實現單詞查詢、音樂播放、月歷和時鐘四個功能。查詢功能提供英語單詞查詢中文意思以及中文詞組查詢英語單詞。在查找單詞學習過程中,可以通過播放音樂放松心情,緩解學習帶來的壓力。</p><p>  本系統(tǒng)運用MFC 應用架構,使用C++語言編寫。使用Windows7作為開發(fā)平臺,開發(fā)環(huán)

13、境是微軟Visual C++ 6.0。隨著軟件工程技術的不斷發(fā)展,應用面向對象的編程技術 已經成為當今軟件開發(fā)的重要手段之一。</p><p><b>  設計內容</b></p><p><b>  2.1、模塊圖</b></p><p>  2 功能及相應函數調用圖</p><p><b&

14、gt;  2.3編寫程序代碼</b></p><p><b>  1.音樂播放功能</b></p><p>  void CDictionaryDlg::OnButton3() </p><p><b>  { </b></p><p><b>  flag++;&

15、lt;/b></p><p><b>  flag%=2;</b></p><p><b>  if(flag)</b></p><p>  {PlaySound("D:\\Good good study\\C++\\C++課程設計\\dictionary可運行\(zhòng)\res\\Beyond-海闊天空.wav&

16、quot;,NULL,SND_FILENAME|SND_ASYNC);</p><p><b>  }</b></p><p><b>  else</b></p><p>  PlaySound(NULL,NULL,NULL);</p><p><b>  時鐘顯示功能</b>

17、;</p><p>  void CDictionaryDlg::OnTimer(UINT nIDEvent) </p><p><b>  {</b></p><p>  CDialog::OnTimer(nIDEvent);</p><p>  CTime time=CTime::GetCurrentTime();&

18、lt;/p><p>  int hour=time.GetHour();</p><p>  int Minute=time.GetMinute();</p><p>  int second=time.GetSecond();</p><p>  CString str;</p><p>  str.Format(&qu

19、ot;%d:%d:%d",hour,Minute,second);</p><p>  SetDlgItemText(IDC_EDIT2,str);</p><p><b>  }</b></p><p><b>  查詢功能</b></p><p>  void CDictionaryD

20、lg::OnText() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_text.GetWindowText(str);</p><p><b>  char

21、 ch;</b></p><p>  if(str.GetLength()!=0)</p><p><b>  {</b></p><p>  ch = str.GetAt(0);</p><p>  ch = toupper(ch); //將輸入的第一個字符置成大寫</p><p&g

22、t;  str.SetAt(0,ch);</p><p>  if(str.Find("?")>=0||str.Find("*")>=0) //判斷進行模糊查詢</p><p><b>  {</b></p><p><b>  return;</b></p>

23、;<p><b>  }</b></p><p>  if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) //判斷進行英譯漢</p><p>  EntoCh(); </p>&l

24、t;p>  else if(str.GetLength()!=0) //進行漢譯英</p><p><b>  ChtoEn();</b></p><p><b>  }</b></p><p>  else //如果ComboBox內容為空,則清空列表和文本框</p><p>

25、;<b>  {</b></p><p>  m_list.ResetContent();</p><p>  m_edit1.SetWindowText(" ");</p><p><b>  }</b></p><p><b>  }</b></p

26、><p>  判斷英譯漢或漢譯英功能實現</p><p>  void CDictionaryDlg::OnText() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><

27、;p>  m_text.GetWindowText(str);</p><p><b>  char ch;</b></p><p>  if(str.GetLength()!=0)</p><p><b>  {</b></p><p>  ch = str.GetAt(0);</p&

28、gt;<p>  ch = toupper(ch); //將輸入的第一個字符置成大寫</p><p>  str.SetAt(0,ch);</p><p>  if(str.Find("?")>=0||str.Find("*")>=0) //判斷進行模糊查詢</p><p><b> 

29、 {</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='

30、;Z')) //判斷進行英譯漢</p><p>  EntoCh(); </p><p>  else if(str.GetLength()!=0) //進行漢譯英</p><p><b>  ChtoEn();</b></p><p><b>  }</b></p&

31、gt;<p>  else //如果ComboBox內容為空,則清空列表和文本框</p><p><b>  {</b></p><p>  m_list.ResetContent();</p><p>  m_edit1.SetWindowText(" ");</p><p>&

32、lt;b>  }</b></p><p><b>  }</b></p><p><b>  取消按鍵</b></p><p>  void CDictionaryDlg::OnCANSEL() </p><p><b>  {</b></p>

33、<p>  CDialog::OnOK();</p><p><b>  }</b></p><p><b>  英譯漢</b></p><p>  void CDictionaryDlg::EntoCh()</p><p><b>  {</b></p>

34、<p>  char name0[] = {"english0.txt"};</p><p>  FILE *fp;</p><p>  if((fp=fopen(name0,"r"))==NULL) //打開第一本詞典</p><p><b>  {</b></p>

35、<p>  m_edit1.SetWindowText("對不起!文件不能打開!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  do</b></p><p><b

36、>  {</b></p><p>  m_list.ResetContent(); //清空列表內容 </p><p>  fgets(buffer,1024,fp); //從文件讀入一行存放在BUFFER中</p><p><b>  int i,k;</b></p><

37、;p>  memset(acron,0,sizeof(acron)); //清空acron</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ')

38、 i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)); //清空english </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  

39、english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid)); //清空mid</p><p>  strncpy(mid,english,str.GetLength()); //將english中的從0開始的長度為str.GetLength()字符存入mid中</p><p>  if

40、(strcmp(str,mid)==0) //比較str和mid</p><p><b>  {</b></p><p>  m_list.AddString(english); //列表輸出</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(

41、chinese)); //清空chinese</p><p>  for(;buffer[i]!='\0';i++) //截取漢語部分</p><p>  chinese[i-k] = buffer[i];</p><p><b>  }</b></p><p>  }while(strc

42、mp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結束</p><p>  int count0 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count0<100) </p><p><b>  {</b&

43、gt;</p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron)); </p><p>  for(i=0;buffer[i]!=' ';i++

44、) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)

45、); </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,english,str.

46、GetLength());</p><p>  if(strcmp(str,mid)==0) </p><p><b>  {</b></p><p>  m_list.AddString(english); </p><p>  count0++; //控制列表中的條數在101內</p>

47、<p><b>  }</b></p><p><b>  }</b></p><p>  fclose(fp);</p><p>  char name1[] = {"english1.txt"};</p><p>  if((fp=fopen(name1,&

48、quot;r"))==NULL) //打開第二部詞典</p><p><b>  {</b></p><p>  m_edit1.SetWindowText("對不起!文件不能打開!");</p><p><b>  return;</b></p><p><

49、b>  }</b></p><p><b>  do</b></p><p><b>  { </b></p><p>  fgets(buffer,1024,fp); //從文件讀入一行存放在BUFFER中</p><p><b>  int

50、i,k;</b></p><p>  memset(acron,0,sizeof(acron)); //清空acron</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  w

51、hile(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)); //清空english </p><p>  for(;buffer[i]!='#';i++) //

52、截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid)); //清空mid</p><p>  strncpy(mid,english,str.GetLength()); //將english中的從0開始的長度為str.GetLength()字符存入

53、mid中</p><p>  if(strcmp(str,mid)==0) //比較str和mid</p><p><b>  {</b></p><p>  m_list.AddString(english); //列表輸出</p><p>  i++; k = i;</p><p&

54、gt;  memset(chinese,0,sizeof(chinese)); //清空chinese</p><p>  for(;buffer[i]!='\0';i++) //截取漢語部分</p><p>  chinese[i-k] = buffer[i];</p><p><b>  }</b></

55、p><p>  }while(strcmp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結束</p><p>  int count1 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count1<100) </p>

56、<p><b>  {</b></p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron)); </p><p>  for(i

57、=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  mem

58、set(english,0,sizeof(english)); </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p&

59、gt;  strncpy(mid,english,str.GetLength());</p><p>  if(strcmp(str,mid)==0)</p><p><b>  {</b></p><p>  m_list.AddString(english); </p><p>  count1++; //

60、控制列表中的條數在101內</p><p><b>  }</b></p><p><b>  }</b></p><p>  //如果列表中僅剩一行,則文本框中輸出中文</p><p>  if(m_list.GetCount()==1) m_edit1.SetWindowText(ch

61、inese); </p><p>  else m_edit1.SetWindowText(" ");</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  漢譯英</b></p><p>

62、  void CDictionaryDlg::ChtoEn()</p><p><b>  {</b></p><p>  char name0[] = {"chinese0.txt"};</p><p>  FILE *fp;</p><p>  if((fp=fopen(name0,"

63、r"))==NULL) //打開文件</p><p><b>  {</b></p><p>  m_edit1.SetWindowText("對不起!文件不能打開!");</p><p><b>  return;</b></p><p><b>  

64、}</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  m_list.ResetContent(); //清空列表內容</p><p>  fgets(buffer,1024,fp); //讀入</p>

65、<p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron));</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p>&

66、lt;p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english));</p><p>  for(;buffer[i]!='#';i++) //截取英文部

67、分</p><p>  english[i-k] = buffer[i];</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語部分</p>

68、;<p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較:若相等則輸出</p>

69、<p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p><b>  }</b></p><p>  }while(strcmp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結束</p>

70、<p>  int count0 = 0; </p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count0<100)</p><p><b>  {</b></p><p>  fgets(buffer,1024,fp);</p>&l

71、t;p>  int i=4,k;</p><p>  while(buffer[i]!='#') i++;</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0&

72、#39;;i++) //截取漢語部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)=

73、=0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p>  count0++; //控制列表輸出條數不多余101</p><p><b>  }</b></p><

74、p><b>  }</b></p><p>  fclose(fp);</p><p>  char name1[] = {"chinese1.txt"};</p><p>  if((fp=fopen(name1,"r"))==NULL) //打開文件</p><p&g

75、t;<b>  {</b></p><p>  m_edit1.SetWindowText("對不起!文件不能打開!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  do

76、</b></p><p><b>  { </b></p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron));<

77、;/p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b>&

78、lt;/p><p>  memset(english,0,sizeof(english));</p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  i++; k = i;</p>

79、<p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p&g

80、t;<p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p>

81、<b>  }</b></p><p>  }while(strcmp(str,mid)!=0&&!feof(fp));</p><p>  int count1 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count1<100)

82、</p><p><b>  {</b></p><p>  fgets(buffer,1024,fp);</p><p>  int i=4,k;</p><p>  while(buffer[i]!='#') i++;</p><p>  i++; k = i;&l

83、t;/p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));

84、</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p>

85、<p>  count1++; //控制列表輸出條數不多余101</p><p><b>  }</b></p><p><b>  }</b></p><p>  //如果列表中僅剩一行,則文本框中輸出中文</p><p>  if(m_list.GetCount()==1)

86、 m_edit1.SetWindowText(english);</p><p>  else m_edit1.SetWindowText(" ");</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  三、 調試分析<

87、;/b></p><p>  1. 實際完成的情況說明</p><p>  經過兩個星期的不懈努力,不斷地構思,不斷地修改,最終完成了一個擁有較多功能的多多能電子詞典。實現了最重要的電子詞典查詢功能。用戶界面也很友好。</p><p><b>  程序的性能分析。</b></p><p>  性能方面運行穩(wěn)定,程序

88、查詢功能實現速率很高,能夠滿足日常的英語學習過程中需要的漢譯英和英譯漢的查詢功能。并且能夠在學習之余利用程序所包含的音樂播放器放松自己。總而言之,程序的各方面性能還是不錯的。</p><p>  上機過程中出現的問題及其解決方案。</p><p>  在實現音樂播放器的過程當中,首先通過自己的構思,查閱了資料后知道該功能主要運用到的函數和實現的方法。但是在具體實現時,每次調試都是通過的,沒

89、有邏輯錯誤,但是運行程序時就是播放不出音樂,系統(tǒng)給出了錯誤提示音。后面通過查詢資料才了解到,音樂播放器在MFC中系統(tǒng)函數能支持播放的音樂格式是WAV。后面將原先在res文件夾里的音樂文件通過格式轉換器轉換成WAV格式后才得以解決。</p><p>  程序中可以改進的地方說明。</p><p>  本程序在設計之初希望實現的功能基本都已經實現,但是還是存在一些可以修改的地方。比如,由于所給

90、出的單詞庫單詞的數量有限,我沒能實現用戶自己在使用過程中能夠自己插入單詞并保存到單詞庫當中這一功能。但是這一功能實現起來比較麻煩,由于我的單詞庫在設計之初就是以一定的規(guī)律來插入的,這樣是為了在查詢過程當中系統(tǒng)在調用函數時,查找并匹配到該單詞的速率能夠更加快速。如果選擇并去實現了這一功能,恐怕這將會打亂了我的單詞庫的排列次序。</p><p>  5. 程序中可以擴充的功能及設計實現構想。</p>&

91、lt;p>  程序在設計之初我本身是打算做出一個功能比較齊全的MP3播放器的,但是由于后面的時間限制,我將大部分時間都花在如果將英譯漢和漢譯英這兩個功能結合在一起的這一功能設計當中去,致使后面沒有剩余時間來做一個完整的播放器。這一簡單的播放器只能是播放工程里提供的音樂文件,不能用戶自行定義。假設能夠加以完善,我希望是能夠做出一個很規(guī)范的多功能音樂播放器,還會設計一個很漂亮的圖標加載在音樂播放器上面。這是我的一個構想。</p&

92、gt;<p><b>  四、 用戶手冊</b></p><p>  1. 程序運行環(huán)境及結果</p><p>  Windows 7 VC++6.0 開發(fā)平臺, Microsoft Visual C++6.0 集成環(huán)境。</p><p><b>  程序運行結果</b></p><p&

93、gt;<b>  用戶使用步驟</b></p><p>  用戶進入程序主界面時,可通過以下幾個步驟使用本軟件</p><p>  查詢功能:輸入要查詢的單詞或者中文意思,在索引中將出現幾個備選的查詢結果,找到要查詢的單詞或者詞組,雙擊鼠標左鍵進入查詢結果。</p><p>  音樂播放器:單機“我的MP3”,音樂開始播放,再次左擊,音樂停止。

94、</p><p>  時鐘功能:時鐘功能是調用系統(tǒng)函數,直接讀取本臺電腦的系統(tǒng)時間并進行顯示的,所以如果想修改現在時間,只要在操作系統(tǒng)windows界面的右下角時間欄直接進行設置即可。</p><p><b>  設計總結</b></p><p>  在本次C++課程設計當中,我在實踐中得到了也學習了很多很多的東西。較為熟練地掌握了MFC的程序

95、開發(fā)步驟和方法,會進行基本的界面設計和功能實現的源代碼開發(fā)。一開始拿到這個題目時,覺得自己根本不可能能夠靠自己做出一個像樣的多功能電子詞典。甚至一個很簡單的電子詞典都做不出來,別說多功能了。后面通過觀看了好多孫鑫的教學視頻,慢慢了解了MFC的功能實現方法和設計思路和步驟,開始上手。到后面自己真的可以做到有一個想法,然后通過自己的努力,查詢文件資料設計出一個功能,并且實現的非常好。課程設計基本結束后,我感到特別的有成就感,看著自己做出來的

96、一個軟件,真是愛不釋手,把玩了好久。以后在學習過程中,我會因此而更加有奮斗的目的和目標。因為靠自己的大腦和實踐做出點東西來確實是不容易,但是真正你做到了以后就感覺,那是對自己的辛苦和付出的一種多么大的安慰和鼓勵啊!加油!繼續(xù)努力!</p><p><b>  六、 主要參考文獻</b></p><p>  1.鄭莉.C++語言程序設計(第3版).北京:清華大學出版社,

97、2005.7</p><p>  2.錢能.C++程序設計教程(第2版).北京:清華大學出版社,2005.8</p><p>  3. 黃維通. Visual C++面向對象與可視化程序設計(第2版).北京:清華大學出版 社,2003.12</p><p>  4. 劉路放. Visual C++與面向對象程序設計教程(第二版). 北京:高等教育出版社,2007.8

98、</p><p>  5. 潘愛民. COM原理與應用.北京:清華大學出版社,1999.11</p><p><b>  附錄</b></p><p>  // dictionaryDlg.cpp : implementation file</p><p><b>  //</b></p>

99、;<p>  #include "stdafx.h"</p><p>  #include "dictionary.h"</p><p>  #include "dictionaryDlg.h"</p><p>  #include "fstream.h"</p>

100、;<p>  #include "string.h"</p><p>  #include <mmsystem.h> //gequbofang</p><p>  #pragma comment(lib,"WINMM.LIB") //gequbofang</p><p>

101、  #include <windows.h></p><p>  #ifdef _DEBUG</p><p>  #define new DEBUG_NEW</p><p>  #undef THIS_FILE</p><p>  static char THIS_FILE[] = __FILE__;</p><

102、;p><b>  #endif</b></p><p>  #define MAX 1000</p><p>  // CAboutDlg dialog used for App About</p><p>  class CAboutDlg : public CDialog</p><p><b>  

103、{</b></p><p><b>  public:</b></p><p>  CAboutDlg();</p><p>  // Dialog Data</p><p>  //{{AFX_DATA(CAboutDlg)</p><p>  enum { IDD = IDD_AB

104、OUTBOX };</p><p>  //}}AFX_DATA</p><p>  // ClassWizard generated virtual function overrides</p><p>  //{{AFX_VIRTUAL(CAboutDlg)</p><p>  protected:</p><p>

105、;  virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support</p><p>  //}}AFX_VIRTUAL</p><p>  // Implementation</p><p>  protected:</p><p>  //{{AFX_MSG(C

106、AboutDlg)f</p><p>  virtual void OnOK();</p><p>  //}}AFX_MSG</p><p>  DECLARE_MESSAGE_MAP()</p><p><b>  };</b></p><p>  CAboutDlg::CAboutDlg()

107、 : CDialog(CAboutDlg::IDD)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CAboutDlg)</p><p>  //}}AFX_DATA_INIT</p><p><b>  }</b></p><p

108、>  void CAboutDlg::DoDataExchange(CDataExchange* pDX)</p><p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CAboutDlg)</p><p&g

109、t;  //}}AFX_DATA_MAP</p><p><b>  }</b></p><p>  BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CAboutDlg)</p><p>  //}}AFX_MSG_MAP</p>

110、<p>  END_MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CDictionaryDlg dialog</p><p>  CDictionaryDlg::CDic

111、tionaryDlg(CWnd* pParent /*=NULL*/)</p><p>  : CDialog(CDictionaryDlg::IDD, pParent)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CDictionaryDlg)</p><p>  /

112、/}}AFX_DATA_INIT</p><p>  // Note that LoadIcon does not require a subsequent DestroyIcon in Win32</p><p>  m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);</p><p><b>  }<

113、;/b></p><p>  ///////////////////////////////////////////////////////////////</p><p>  //////////////</p><p>  void CDictionaryDlg::DoDataExchange(CDataExchange* pDX)</p>

114、<p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CDictionaryDlg)</p><p>  DDX_Control(pDX, IDC_LIST1, m_list);</p><p>  

115、DDX_Control(pDX, IDC_EDIT1, m_edit1);</p><p>  DDX_Control(pDX, IDC_COMBO1, m_text);</p><p>  //}}AFX_DATA_MAP</p><p><b>  }</b></p><p>  BEGIN_MESSAGE_MAP(

116、CDictionaryDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CDictionaryDlg)</p><p>  ON_WM_SYSCOMMAND()</p><p>  ON_WM_PAINT()</p><p>  ON_WM_QUERYDRAGICON()</p><p>

117、  ON_CBN_EDITCHANGE(IDC_COMBO1, OnText)</p><p>  ON_EN_CHANGE(IDC_EDIT1, OnEdit1)</p><p>  ON_BN_CLICKED(IDC_FIND, OnFind)</p><p>  ON_BN_CLICKED(IDC_CANSEL, OnCANSEL)</p>&l

118、t;p>  ON_LBN_SELCHANGE(IDC_LIST1, OnList)</p><p>  ON_BN_CLICKED(IDC_LIKE, OnLike)</p><p>  ON_BN_CLICKED(IDC_CLEAR, OnClear)</p><p>  ON_WM_ERASEBKGND()</p><p>  ON

119、_WM_SIZE()</p><p>  ON_WM_TIMER()</p><p>  ON_BN_CLICKED(IDC_BUTTON3, OnButton3)</p><p>  ON_NOTIFY(NM_OUTOFMEMORY, IDC_SLIDER1, OnOutofmemorySlider1)</p><p>  //}}AFX_

120、MSG_MAP</p><p>  END_MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CDictionaryDlg message handlers</p><

121、p>  BOOL CDictionaryDlg::OnInitDialog()</p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  // Add "About..." menu item to system menu.</p>

122、<p>  // IDM_ABOUTBOX must be in the system command range.</p><p>  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p>  ASSERT(IDM_ABOUTBOX < 0xF000);</p><p>  CMe

123、nu* pSysMenu = GetSystemMenu(FALSE);</p><p>  if (pSysMenu != NULL)</p><p><b>  {</b></p><p>  CString strAboutMenu;</p><p>  strAboutMenu.LoadString(IDS_AB

124、OUTBOX);</p><p>  if (!strAboutMenu.IsEmpty())</p><p><b>  {</b></p><p>  pSysMenu->AppendMenu(MF_SEPARATOR);</p><p>  pSysMenu->AppendMenu(MF_STRING,

125、 IDM_ABOUTBOX, strAboutMenu);</p><p><b>  }</b></p><p><b>  }</b></p><p>  // Set the icon for this dialog. The framework does this automatically</p>

126、<p>  // when the application's main window is not a dialog</p><p>  SetIcon(m_hIcon, TRUE);// Set big icon</p><p>  SetIcon(m_hIcon, FALSE);// Set small icon</p><p>

127、;  // TODO: Add extra initialization here</p><p>  return TRUE; // return TRUE unless you set the focus to a control</p><p><b>  }</b></p><p>  void CDictionaryDlg::On

128、SysCommand(UINT nID, LPARAM lParam)</p><p><b>  {</b></p><p>  if ((nID & 0xFFF0) == IDM_ABOUTBOX)</p><p><b>  {</b></p><p>  CAboutDlg dlgA

129、bout;</p><p>  dlgAbout.DoModal();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  CDialog::OnSysComm

130、and(nID, lParam);</p><p><b>  }</b></p><p><b>  }</b></p><p>  // If you add a minimize button to your dialog, you will need the code below</p><p&

131、gt;  // to draw the icon. For MFC applications using the document/view model,</p><p>  // this is automatically done for you by the framework.</p><p>  void CDictionaryDlg::OnPaint() </p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論