freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c課程設(shè)計(jì)報(bào)告(簡(jiǎn)易文本編輯器)畢業(yè)論文-在線瀏覽

2024-08-14 22:35本頁(yè)面
  

【正文】 程序打開(kāi)(部分功能重啟或注銷后方能生效)②還原注冊(cè):取消注冊(cè),文本(.txt)文件還原為默認(rèn)圖標(biāo),不能右鍵打開(kāi)(部分功能重啟或注銷后方能生效) 文本編輯區(qū) 本程序的編譯框架為MFC,功能的實(shí)現(xiàn)使用的是模塊化的編程方式進(jìn)行,由于使用的是MFC可視化編程,所以其中的很多過(guò)程使用的是相關(guān)的系統(tǒng)自帶函數(shù)實(shí)現(xiàn)的,其中整個(gè)編輯器的編輯區(qū)使用的是MFC自動(dòng)生成的文本框,但是這個(gè)文本框沒(méi)有插入符,不能實(shí)現(xiàn)文字編輯功能,所以需要在程序的CEasyTXTView中插入一些特定的文本編輯函數(shù),如插入符函數(shù)cwnd::createsolidcreat,這個(gè)函數(shù)默認(rèn)的為隱藏,所以在后面需要showcreate()才能正常顯示,而整個(gè)編輯器的操作編輯部分使用的是一個(gè)獨(dú)立的*.CPP進(jìn)行控制的,代碼中使用的是圖形至于文本輸入的下方并設(shè)置為透明,在下面的文本編輯區(qū)下層有一張寫有內(nèi)容的圖片作為裝飾,換行等動(dòng)作惠濟(jì)路插入符位置并按照坐標(biāo)進(jìn)行繪制,文本框的大小改變等會(huì)導(dǎo)致文本編輯區(qū)的重繪,所以在改變文本框時(shí)必須調(diào)用函數(shù)對(duì)文本框中的內(nèi)容進(jìn)行保存,相關(guān)代碼如下所示:BOOL CBmpEdit::OnEraseBkgnd(CDC* pDC) { CDC memDC。//創(chuàng)建內(nèi)存設(shè)備上下文 (amp。//將位圖選入設(shè)備上下文 BITMAP m_Bmp。m_Bmp)。 //獲取圖片寬度 int y = 。 //聲明矩形區(qū)域?qū)ο?GetClientRect(rect)。memDC,0,0,x,y,SRCCOPY)。//釋放內(nèi)存設(shè)備上下文 return TRUE。}void CBmpEdit::OnChange() { Invalidate()。 //設(shè)置文字背景透明 return NULL。 //判斷滾動(dòng)條是否滑動(dòng) Invalidate()。 n1 = GetScrollPos (SB_VERT)。 n2 = GetScrollPos (SB_VERT)。 //刷新用戶界面 }}BOOL CBmpEdit::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) { BOOL editS = CEdit::OnMouseWheel(nFlags, zDelta, pt)。 //刷新用戶界面 return editS。//獲取文本修改標(biāo)記 CString string。 if (isNew amp。 ())//若是新建文本且文本無(wú)內(nèi)容內(nèi)容 { 。 //彈出消息對(duì)話框詢問(wèn) if(Choice==IDYES) //選擇“是” { OnMenuSave()。 //全部選中文本內(nèi)容 ()。 //標(biāo)記為新建文本 (FALSE)。 int nFileCount,i。 for (i=0。i++) { UINT nChars=::DragQueryFile (hDropInfo,i,amp。 CString str(amp。 //獲得文件路徑//打開(kāi)前對(duì)現(xiàn)有文本的的處理 isModified = ()。 (string)。amp。 } else if(isModified) //如果文本已被修改,分情況討論 { int Choice = MessageBox(當(dāng)前文本已被修改,想保存嗎?,系統(tǒng)提示, MB_YESNO|MB_ICONQUESTION)。//調(diào)用保存函數(shù)保存文件 } } CString strText=。 int n = (39。)。 if (stl == txt || stl == TXT || stl == c || stl == C || stl == cpp || stl == CPP || stl == h || stl == H || stl == xml || stl == XML || stl == html || stl == HTML) { CFile file(str,CFile::modeReadWrite)。 //全部選中文本內(nèi)容 ()。 (read,50000)。i()。 //把文件內(nèi)容賦值給CString變量 } ()。 isNew = FALSE。 //文本修改標(biāo)記設(shè)為修改 } else { MessageBox (不支持的文件類型!,打開(kāi)錯(cuò)誤)。 //釋放內(nèi)存 i=0。 }void CEasyTXTDlg::OpenFile(){ CString strCmdLine = GetCommandLine()。 int i = 0。//循環(huán)統(tǒng)計(jì)字符個(gè)數(shù) for (i = 0,index = 0。 i++,index ++) { index = (\, index)。i totalLen 1。 int n = (39。)。 if (stl == txt || stl == TXT || stl == c || stl == C || stl == cpp || stl == CPP || stl == h || stl == H || stl == xml || stl == XML || stl == html || stl == HTML) { CString strText。 //以讀與寫方式打開(kāi)文件 char read[50000]。 //讀取文件內(nèi)容 for(unsigned i=0。i++) { strText += read[i]。//關(guān)閉文件 (strText)。 //文本修改標(biāo)記設(shè)為未修改 isNew = FALSE。 } else { MessageBox (不支持的文件類型!,打開(kāi)錯(cuò)誤)。 //文本修改標(biāo)記設(shè)為未修改 isNew = TRUE。 //文本修改標(biāo)記設(shè)為未修改 isNew = TRUE。}保存保存使用的是MFC中自帶的模塊進(jìn)行的,第一次的保存即為另存為,當(dāng)文檔已經(jīng)創(chuàng)建以后,文本的保存就改變?yōu)榘盐谋揪庉媴^(qū)的內(nèi)容重新寫入同一個(gè)絕對(duì)地址的文本文檔中,其中聲明和調(diào)用的詳細(xì)代碼如下:void CEasyTXTDlg::OnMenuSave(){ if (isNew) //對(duì)新建且未保存的文本調(diào)用“另存為”進(jìn)行保存 { OnMenuSaveas()。 char write[50000]。//以讀與寫方式創(chuàng)建文件 (strText)。 //將編輯框中的內(nèi)容賦值給字符串?dāng)?shù)組 (write,())。 //關(guān)閉文件 (FALSE)。}另存為另存為是一種特殊的保存形式,另存為在應(yīng)用的時(shí)候是用戶用過(guò)FILE等函數(shù)尋找一個(gè)絕對(duì)地址并按照現(xiàn)有格式進(jìn)行保存,在今后的另存為命令中,不會(huì)對(duì)相同絕對(duì)地址相同文件名的文件進(jìn)行保存,而是在彈出消息對(duì)話框用戶確認(rèn)覆蓋操作以后才將原有的文件進(jìn)行刪除操作然后把新內(nèi)容的文件生成在用戶選定的絕對(duì)地址下,詳細(xì)代碼如下:void CEasyTXTDlg::OnMenuSaveas(){ CFileStatus fs。 //構(gòu)造“文件另存為”對(duì)話框 CString strPath,strText=。 if(() == IDOK) //判斷按下“另存為” { strPath = ()。 //設(shè)置文件擴(kuò)展名為txt } if(CFile::GetStatus(_T(strPath),fs)) //如果文件存在 { CString info = strPath。\r\n要替換它嗎?。 //彈出確認(rèn)替換消息 if (nChoice == IDYES) //如果確認(rèn)替換 { SavePath = strPath。 //以只寫方式創(chuàng)建文件 (strText)。 //將編輯框中的內(nèi)容賦值給字符串?dāng)?shù)組 (write,())。 //關(guān)閉文件 isNew = FALSE。 } else //不替換 { OnMenuSaveas()。 //獲取保存新建文本的路徑 CFile file(_T(strPath),CFile::modeCreate|CFile::modeWrite)。 //獲取編輯框中的內(nèi)容 strcpy(write,strText)。 //把編輯框中的內(nèi)容寫入文件 ()。 (FALSE)。 CRect rect (15,80,586,686)。 //刷新用戶界面}退出void CEasyTXTDlg::OnClose() { isModified = ()。 (string)。amp。 //退出程序 } else if(isModified) //如果文本已被修改,分情況討論 { int QuitChoice = MessageBox(當(dāng)前文本已被修改,想保存嗎?,系統(tǒng)提示, MB_YESNOCANCEL|MB_ICONQUESTION)。 //調(diào)用保存函數(shù)保存文件 if (isModified = FALSE) CDialog::OnClose()。 //退出程序 } else { return。 //如果文本未被修改則直接退出程序 }} 編輯撤銷撤銷命令是系統(tǒng)自帶的函數(shù),使用是調(diào)用OnMenuUndo函數(shù)命令,詳細(xì)代碼如下所示:void CEasyTXTDlg::OnMenuUndo(){ ()。 //刪除編輯框中當(dāng)前選中的文本}剪切 剪切命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是OnMenueCut函數(shù)命令,詳細(xì)代碼如下所示:void CEasyTXTDlg::OnMenuCut(){ ()。 //將編輯框中的當(dāng)前選中文本拷貝到剪貼板中}粘貼 粘貼命令調(diào)用的是系統(tǒng)自帶函數(shù),使用的是OnMenuPaste函數(shù)命令,詳細(xì)代碼如下所示:void CEasyTXTDlg::OnMenuPaste(){ ()。//全部選中文本內(nèi)容} 應(yīng)用查找/替換 查找和替換命令使用的是串查詢,按照匹配的媳婦篩選,如果替換,則在替換時(shí)判斷是否為第一次的替換,替換時(shí)將記錄字符串的位置并加以標(biāo)記,按后進(jìn)行替換,詳細(xì)代碼如下所示:void CEasyTXTDlg::OnMenuFindReplace(){ nindex = 0。 index = 0。 //聲明“查找/替換”對(duì)話框指針 dlgCreate(FALSE,NULL)。 //顯示“替換”對(duì)話框long CEasyTXTDlg::OnFindReplace(WPARAM wParam, LPARAM lParam){ CString strText,repText。 //獲得查找字符串 CString str。 //獲得編輯框中是文本 int len。 //獲得查找字符串 repText = dlgGetReplaceString()。 //獲得替換字符串長(zhǎng)度 (strText,
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1