VC6.0實踐——sketchpad

Git&Github

  考慮到今後應該會經常進行代碼的編寫以及即將到來的正式的研究生生涯,特別是眼下正要做的航行器比賽,利用和熟悉Git&Github工具是非常重要的。所以本次實踐作業作為一個開端,有必要先複習鞏固一下相關的知識。學習用到的教程包括但不限於廖雪峰Git教程git/github guide。實際上,廖雪峰教程較為易讀(並不是中文的緣故)而guide相對更偏向查找。

問題&解決

  1. 在GitHub上創建新分支可直接使用git push origin workingspace命令。
  2. 當需要一次性添加或退回所有變化至暫存庫,使用git add .git checkout .命令。
  3. 在輸入git log後無法繼續輸入指令的同時git提示說no next tag, press return,此時應按下q鍵。為防止再次發生,執行git log指令時改寫為git --no-pager log解決方案
  4. 如果有三個修改,而只(錯誤地)commit了一個修改,那麼似乎沒有辦法取消這次commit而只能繼續將剩餘的兩個修改commit上去。因為撤銷修改與回退功能都是針對修改本身而不僅是git操作而言的,一旦回退或撤銷原先想要commit的東西也就沒有了,畢竟修改是沒有錯的,錯的是失誤的commit。當然這並不影響什麼。
  5. 應當嚴格遵循版本控制的流程,readme應在workingspace分支而不是master分支中增補。
  6. 發佈的exe等文件不應包含在version control中,應及時更新.gitignore文件。
  7. 在workingspace分支上更新.gitignore后跳回master分支,發現該文件沒有更新(正常),但是在試圖git merge workingspace時報出cannot spawn emacs: No such file or directory的錯,顯示處於merge中。後面又commit了一次解決方法就完成了merge,檢查改動的文件沒問題。不清楚這一現象的原因,不應該時提示我修改衝突嗎,關emacs什麼事。
    注意ad31419
  8. 如果想要從當前版本A回退至版本B,并使得遠程(GitHub)也發生回退,不能採取先本地reset,再嘗試push的辦法,因為這樣會發生衝突并收到git建議進行pull的回復,當然如果進行pull,就會將本地同步為遠程版本。似乎可以使用revert命令,但是目前還沒有試驗成功。
  9. 後面要測試從GitHub上pull節點,對於是否包含本地操作信息與兩者之間映射關係依然存疑。

MarkDown

  本篇博客同時也是作為MarkDown使用的練習而存在的,將會包含常用的字體與格式、代碼、圖片甚至是流程圖。今後的博客內容應當包含項目設計的初衷和目標、遇到的問題與解決方法、最終的感想和展望,希望可以給今後的學習生涯開一個好頭。

sketchpad

  repository on GitHub
  希望可以掌握基本的基於VC6.0的Windows程序開發的技巧,今後說不定需要自己編點什麼上位機之類的東西。

項目目標

  • 畫直線、選擇顏色與線粗、保存與打開文件、文檔視圖結構架設、鼠標移動時可預覽圖形;
  • 增加隨手畫與其它圖形的功能、增加橡皮功能、增加顏色填充功能。

問題&解決

  1. 視圖中的圖線是視圖類對象的一個成員變量,需要在視圖類的構造函數中進行初始化。
  2. 已畫過的線條的參數通過list->AddTail((CObject*)new CLine(l));保存在鏈表pDC->list中。
  3. 對于工具條的設置和使能,按照教材例9.3的寫法,雖知道大體有哪些方面需要設置,但不知道這些控制語句應該位於何處,從teach yourself VC++得知代碼應位於CMainFrame::OnCreate()但是就使能方式來說後者沒有看明白,教材上的實踐起來更方便,相關參數也可以調整。
  4. 在驗證虛線功能時發現粗線無法畫虛線,原因在於CPen類的構造函數與create函數對參數功能有限制,當線寬大於1時無法畫虛線,為實現粗虛線需要採用第二組函數,詳情見CPen Class,但是要注意LogBrush類中的lbStyle成員的取值,是BS_SOLID,不是PS_xxx,否則顏色和線型都會有bug。
  5. 6.7.1所講與13.4.1所講都有關於保存與打開文件的內容,但都與教材例子使用serialize函數的方法不一樣,這裡還需要進一步研究與驗證。
  6. 發佈exe程序,記得在設置改變以後要運行一次程序,否則release文件夾中不會有.exe文件。
  7. 嘗試添加“直線隨按下的鼠標移動“這一功能,參考了諸如橡皮筋技術的一批大同小異的所謂教程,但是主要有兩個問題,一是鼠標即使沒有按下也在畫線,二是閃屏嚴重,研究近三小時,不成,遂放棄。
  8. 後面要增添其它功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值