生活随笔
收集整理的這篇文章主要介紹了
VC6.0實踐——sketchpad
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Git&Github
??考慮到今後應(yīng)該會經(jīng)常進行代碼的編寫以及即將到來的正式的研究生生涯,特別是眼下正要做的航行器比賽,利用和熟悉Git&Github工具是非常重要的。所以本次實踐作業(yè)作為一個開端,有必要先複習(xí)鞏固一下相關(guān)的知識。學(xué)習(xí)用到的教程包括但不限於廖雪峰Git教程與git/github guide。實際上,廖雪峰教程較為易讀(並不是中文的緣故)而guide相對更偏向查找。
問題&解決
在GitHub上創(chuàng)建新分支可直接使用git push origin workingspace命令。 當(dāng)需要一次性添加或退回所有變化至?xí)捍鎺?#xff0c;使用git add .或git checkout .命令。 在輸入git log後無法繼續(xù)輸入指令的同時git提示說no next tag, press return,此時應(yīng)按下q鍵。為防止再次發(fā)生,執(zhí)行g(shù)it log指令時改寫為git --no-pager log。解決方案 如果有三個修改,而只(錯誤地)commit了一個修改,那麼似乎沒有辦法取消這次commit而只能繼續(xù)將剩餘的兩個修改commit上去。因為撤銷修改與回退功能都是針對修改本身而不僅是git操作而言的,一旦回退或撤銷原先想要commit的東西也就沒有了,畢竟修改是沒有錯的,錯的是失誤的commit。當(dāng)然這並不影響什麼。 應(yīng)當(dāng)嚴格遵循版本控制的流程,readme應(yīng)在workingspace分支而不是master分支中增補。 發(fā)佈的exe等文件不應(yīng)包含在version control中,應(yīng)及時更新.gitignore文件。 在workingspace分支上更新.gitignore后跳回master分支,發(fā)現(xiàn)該文件沒有更新(正常),但是在試圖git merge workingspace時報出cannot spawn emacs: No such file or directory的錯,顯示處於merge中。後面又commit了一次解決方法就完成了merge,檢查改動的文件沒問題。不清楚這一現(xiàn)象的原因,不應(yīng)該時提示我修改衝突嗎,關(guān)emacs什麼事。 如果想要從當(dāng)前版本A回退至版本B,并使得遠程(GitHub)也發(fā)生回退,不能採取先本地reset,再嘗試push的辦法,因為這樣會發(fā)生衝突并收到git建議進行pull的回復(fù),當(dāng)然如果進行pull,就會將本地同步為遠程版本。似乎可以使用revert命令,但是目前還沒有試驗成功。 後面要測試從GitHub上pull節(jié)點,對於是否包含本地操作信息與兩者之間映射關(guān)係依然存疑。
MarkDown
??本篇博客同時也是作為MarkDown使用的練習(xí)而存在的,將會包含常用的字體與格式、代碼、圖片甚至是流程圖。今後的博客內(nèi)容應(yīng)當(dāng)包含項目設(shè)計的初衷和目標(biāo)、遇到的問題與解決方法、最終的感想和展望 ,希望可以給今後的學(xué)習(xí)生涯開一個好頭。
sketchpad
??repository on GitHub ??希望可以掌握基本的基於VC6.0的Windows程序開發(fā)的技巧,今後說不定需要自己編點什麼上位機之類的東西。
項目目標(biāo)
畫直線、選擇顏色與線粗、保存與打開文件、文檔視圖結(jié)構(gòu)架設(shè)、鼠標(biāo)移動時可預(yù)覽圖形; 增加隨手畫與其它圖形的功能、增加橡皮功能、增加顏色填充功能。
問題&解決
視圖中的圖線是視圖類對象的一個成員變量,需要在視圖類的構(gòu)造函數(shù)中進行初始化。 已畫過的線條的參數(shù)通過list->AddTail((CObject*)new CLine(l));保存在鏈表pDC->list中。 對于工具條的設(shè)置和使能,按照教材例9.3的寫法,雖知道大體有哪些方面需要設(shè)置,但不知道這些控制語句應(yīng)該位於何處,從teach yourself VC++得知代碼應(yīng)位於CMainFrame::OnCreate(),但是就使能方式來說後者沒有看明白 ,教材上的實踐起來更方便,相關(guān)參數(shù)也可以調(diào)整。 在驗證虛線功能時發(fā)現(xiàn)粗線無法畫虛線,原因在於CPen類的構(gòu)造函數(shù)與create函數(shù)對參數(shù)功能有限制,當(dāng)線寬大於1時無法畫虛線,為實現(xiàn)粗虛線需要採用第二組函數(shù),詳情見CPen Class,但是要注意LogBrush類中的lbStyle成員的取值,是BS_SOLID,不是PS_xxx,否則顏色和線型都會有bug。 6.7.1所講與13.4.1所講都有關(guān)於保存與打開文件的內(nèi)容,但都與教材例子使用serialize函數(shù)的方法不一樣,這裡還需要進一步研究與驗證。 發(fā)佈exe程序,記得在設(shè)置改變以後要運行一次程序,否則release文件夾中不會有.exe文件。 嘗試添加“直線隨按下的鼠標(biāo)移動“這一功能,參考了諸如橡皮筋技術(shù)的一批大同小異的所謂教程,但是主要有兩個問題,一是鼠標(biāo)即使沒有按下也在畫線,二是閃屏嚴重 ,研究近三小時,不成,遂放棄。 後面要增添其它功能
總結(jié)
以上是生活随笔 為你收集整理的VC6.0實踐——sketchpad 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。