Time of Update: 2018-12-07
一點很小的心得。眾所周知,具有迭代介面的集合類可以用foreach來遍曆。但要求迭代過程不能被重設,也就是不能添加,刪除或修改。有時候我們必須要這樣做,就需要另闢蹊徑來實現遍曆。比如ListView控制項中的SelectItems是一個基於Items的子集合。如果需要刪除所選項時,無法利用foreach來實現。這時候可以用類似於下面的代碼了實現:while (aList.SelectedItems.Count >
Time of Update: 2018-12-07
Time of Update: 2018-12-07
陪表弟回了趟老家,他就要出國了,不知道何日再能相見。還記得我們小時候的時候,每每放假總有一半以上的假期要粘在一起玩,形影不離,到分別的時候,總是少不了的落寂和傷心流淚。後來長大了,都有了自己的思想和生活,在一起的時間也少了。但兄弟就是兄弟,是上天賜予的緣分。我們彼此需要幫忙的時候只需要開口,在一起可以自由自在的談理想談思考,沒有客套和隔閡。我想這就夠了。也許下次再見面的時候,我們還是那樣的彼此自在的相處,就像昨天才剛見面。在老家的日子很閑。吃了飯就開始聊天,翻書,換電視台,然後又去東家或西家吃飯
Time of Update: 2018-12-07
昨天在寫一段測試檔案產生路徑的代碼。亂七八糟產生了挺多臨時檔案夾。完事之後,Shift+Delete就開始刪。突然發現一檔案夾刪除速度特慢。一絲不祥的預兆湧上心頭。定睛一看,刪的是Work檔案夾。這個檔案夾放的是我前任做過的一些項目。當時那個心啊,叭涼叭涼的,感覺自己的臉刷一下就綠了。趕緊手起滑鼠落,點了取消操作。但是,為時已晚了。一檔案夾東西被刪的不剩多少了。然後滿硬碟的找備份,失敗。想問一問,又有點怕怕。危難關頭,靈光一現,系統還原。 於是找還原點,重啟,登入,
Time of Update: 2018-12-07
很開心的一天。中國籃球隊贏球了,在最關鍵的比賽,用最暢快的方式,終場前三分絕殺,一分險勝。看中國男子足球籃球那麼多年,好像從來都沒那麼爽過。當著老媽的面足足吼了一分鐘,害得嗓子現在還有點啞。從第一場慘敗意大利一路走到今天。中國隊讓人看到了越來越多的堅韌與頑強,這是最讓人高興的。假期快結束了,暑假幫人做得些東西也都接近了結尾。答應給同學做的flash畢業相簿,在我這個破爛機器上磨蹭了一個多月後終於完工了。看了的同學都很喜歡,我當然就很開心。明白不是我那生疏到不行的技術讓人興奮,是因為我真正用心在做
Time of Update: 2018-12-07
前人在CSDN總結的,曾經協助過我,整理總結一下,希望也能協助一下別人。 獲得CWinApp 獲得CMainFrame 獲得CChildFrame 獲得CDocument 獲得CView 在CWinApp中 AfxGetMainWnd() m_pMainWnd AfxGetMainWnd()->MDIGetActive()
Time of Update: 2018-12-07
對Skinning早有耳聞。但很汗的是,DNN才是我接觸過的第一個採用Skinning的項目。所謂Skinning就是實現功能和外觀的分離。但由於接觸Asp.net不多。看了挺長時間DNN了,現在才對整個Skinning系統有了一定的理解。在DNN中,所謂的皮膚由兩部分組成。即skin和container。由於這是DNN的標誌性功能。對這些講解的文章很多。在/Documents/DotNetNuke Skinning中,我覺得講的已經足夠清楚了。我想寫的是整個頁面的繪製過程。1.
Time of Update: 2018-12-07
做一個MFC程式的時候碰到一個需求。就是需要根據定製情況,動態產生菜單,菜單的具體結構和資訊是之前不知道的(因此不能利用工具構造),點擊不同類型的菜單會觸發特定的一類事件(需要動態綁定事件)。這種需求實際是蠻不BT的,很多場合下都可能會有,用C#寫了個Demo花了不到半個小時。但轉到MFC下來寫,就費盡周折。其實這個問題代表了在MFC中動態建立資源綁定事件的一般性問題,所以總結一下。動態建立菜單需要先了解CMenu類。通常我們利用工具繪製一個菜單,每一個功能表項目下都可以視為有一個CMenu類。
Time of Update: 2018-12-07
寫一個小軟體的時候碰到了一個問題。有一串很耗時的函數需要處理。基本流程如下:private void Sample(){ aMethodNeedLongTime();//一個很耗時的計算函數 aMethodNeddLongTimeRefWithUI();//一個很耗時的與UI控制項處理相關的函數}很顯然,執行這個函數介面會無法響應。為瞭解決這個問題,我幾乎是不假思索的寫下了下面這樣的代碼:private void Sample(){ Thread oneStep=new
Time of Update: 2018-12-07
基於OpenCasCade二次開發了一個程式,想採用簡單的copy的發布(部署)方式。 但在發布時遇到了很多問題。總結一下。首先將所有所需的dll拷貝到了執行目錄下,然後將程式copy到一台未安裝OpenCasCade的機器上運行出錯,資訊如下:即出錯資訊為:Runtime error! This application has requested the Runtime to terminate it in an unusual wya.上網查了好久,所有的處理方法都不對路,極度鬱悶的思索中。
Time of Update: 2018-12-07
鬱悶。是今天Team的主題。靠背的JJ倒那個4千萬+的海表。兩次到三千萬的時候被其他組重啟伺服器。到處找刀想殺人。隔壁的那個強人GG。做事總是乾淨利落。今天也被那個海表鬱悶了。出了各種稀奇古怪的錯,死都不進Oracle。氣的滿地溜達。還有那個請假的實習生。估計也得鬱悶。因為他進度彙報不準,搞得任務一下重了起來。估計回來少不了一頓批。Bless。大家都在鬱悶。那Leader也逃不掉了。項目那麼多問題都出的莫名其妙,怪誰都沒用。只能找別組那個老重啟伺服器的傢伙發泄了。
Time of Update: 2018-12-07
有時候我們經常把對話方塊和視圖結合起來,做成AutoCAD命令輸入框、PhotoShop浮動框之類的效果。但很奇怪的是我看過的MFC的書上都沒有特別說明過這樣的工作該如何去做,我剛接觸MFC的時候都是通過控制非模態對話方塊來類比的,後來才知道這些工作是通過CControlBar的衍生類別來完成的。比如CDialogBar就是載入一個已有的對話方塊資源,嵌入Frame中,和視圖配合使用。其實知道了有這麼個東西,剩下的問題都不能稱做問題了,其使用和CToolBar類似,可以通過http://msdn
Time of Update: 2018-12-07
決定無論如何寫點東西。證明我還活著。到了新的環境,總是有很多東西想寫,但又因為事情比較多,沒有一整塊的時間夠我寫下所有想寫的東西。於是,徹底一點,什麼都不再寫。好不容易放假了,卻感覺不出與不放假的區別。所以要寫點東西,說明自己正在放假中。到三點,寫了多少算多少好了。現在每天忙得最多的就是做導師交待的第一個任務。由於研究方向問題,我直接升任所裡給新生練手項目的PL。一個類似於課代表的職務。本來我的工作會很簡單,平行的把工作分成若干份,每個人做一份,我整合一下就完事了。但為了表示我的年輕,我對原程式
Time of Update: 2018-12-07
在C++中經常會涉及到處於不同標頭檔的類互相引用的情況,有時候標頭檔引用(include)會搞得很亂,導致報一堆的錯。其實遵循一定規則,可以避免大部分的混亂。首先,要對標頭檔進行處理,保證不會出現重定義的錯誤。這個應該每個人都會,通常有兩種做法:1. 在.cpp檔案中添加保護,比如在.cpp檔案中添加:#ifndef _XX_H_#define _XX_H_#include "xx.h"#endif2. 在.h中添加保護,比如在xx.h檔案中添加:#ifndef _XX_H_#define
Time of Update: 2018-12-07
最近一直在做Word文檔轉資料庫(圖個簡單,用的Access)的小東西。本以為不會花太多的時間,但出乎意料的一路坎坷,好不容易算是接近完成。技術層面上貌似沒有學到什麼東西。但在這一路坎坷中,還是得到了不少經驗和教訓。首先就是對需求的重要性有了更深的認識。有句話怎麼說來著,怎麼強調都不過分,用來形容需求的重要性恰如其分。動手之前做過分析,但花的功夫不是很多而且經驗很少,很多設計都加進了自己的主觀意識脫離了客觀。比如當初手上的Word文檔很少,就簡單的對其中內容結構進行了判斷,完成了設計。後來隨著文
Time of Update: 2018-12-07
一直對本地化挺有興趣。原來也做過類似的工作。但一直都覺得做得不好。所以很想看看DNN是怎麼做得。在DNN的文檔中/Documents/DotNetNuke
Time of Update: 2018-12-07
非模態對話方塊比模態對話方塊更難使用這是眾所周知的,這是由於模態對話方塊運行時,阻塞了其父視窗的訊息迴圈,使其能自成一派,所以能夠怡然自得。但非模態對話方塊只相當於一個由父表單建立的一個同級的Hwnd,就像一個長大了的孩子,可以和父母並駕齊驅了,需要父母管又不能管的太厲害,其資源管理、通訊都會比模態的更為複雜。 很多時候,能用模態對話方塊的情況下,都會用模態的。雖然Copper
Time of Update: 2018-12-07
最近在寫一些關於MFC的東西,是因為做了些MFC的項目,一些零散的東西需要總結一下。但這並不代表我有些喜歡他了,其實還是蠻討厭的。畢竟看了.Net Framework,再看N多年前的MFC,多少是有些不順眼的。機理上的東西不敢多說,有些變數和方法名字的設定,站在FCL的設計角度看了,多少覺得有些不爽。也許是我太弱,也許是因為它的設計上考慮還是沒有足夠的經驗,列舉一些,娛樂娛樂。 1.
Time of Update: 2018-12-07
在VC++中有著一大把字串類型。從傳統的char*到std::string到CString,簡直是多如牛毛。期間的轉換相信也是繞暈了許多的人,我曾就是其中的一個。還好,MS還沒有喪失功德心,msdn的一篇文章詳細的解析了各種字串的轉換問題,連結如下:http://msdn2.microsoft.com/zh-cn/library/ms235631(VS.80).aspx。參照這篇文章,可以搞定同碼制的字串轉換,如果有unicode到非unicode的轉換問題,還需要另尋高招。我通常就是歸一化,把
Time of Update: 2018-12-07
又很久沒寫點東西了。理由當然是很忙。有空的時候就貓在機房,做做不完的事情。現在的生活學習似乎徹底e化了。每天開郵箱掛QQ處理日常事務。然後是看Google日曆察看或安排議程。如果有課就要上網路學堂看有什麼課件,有什麼通知。下了課還有上學堂看作業,接著開始用Word,LaTex趕作業,提交到學堂上。人困馬乏的時候就開始玩會遊戲看個片,不對,MS有很長很長時間沒看過片,沒看過球賽了。也沒有去過自習室,連紙質的書籍都很少看了。天啊,我都快不認識我了。其實忙得原因不只是作業和項目(老闆委託的項目已經很久