原创 CString.GetLength返回值爲0解決辦法

今天調試程序,CS太ring對象中明明有值CString.GetLength返回值爲0,代碼如下 CString m_sername; CString s="hello "  m_sername=s; 此時s.GetLength

原创 C++調用exe可執行文件

在開發項目的時候,有的時候會分開來開發,分開的有時是exe文件,有的時候也會調用現成的工具包裏面的一些exe文件,這樣在項目裏面就要通過調用exe文件來使用。 那麼在C++裏面直接調用exe文件的方法有哪些呢?現在可考慮的方法主要有:

原创 VS2010中添加VC6.0的啓動界面

很久以前,在使用VC6的時候,設置啓動畫面是很簡答,可惜使用vs後,各種麻煩啊................. 詳解: 1.創建一個SDI或MDI工程。2.新建或導入一個ID號爲IDB_SPLASH的位圖。 3.從CWnd類派生一個名

原创 C#下實現在ProgressBar控件上添加百分比

        在利用C#編寫Windows窗體程序的過程中,程序運行過程中界面如果沒有一些提示總是感覺缺點兒什麼,給用戶的感覺不知道程序是否在運行,所以這是就想到了爲程序添加進度條控件ProgressBar,但是進度條添加上以後,Pro

原创 基於對話框的MFC程序中,實現非模態子窗口在任務欄顯示圖標以及窗口左上角加圖標

在基於對話框的MFC程序中爲了使子窗口同父窗口一樣在任務欄顯示圖標,並且在子窗口最小化時可以在任務欄顯示圖標,可以在子窗口的OnInitDialog函數中調用函數ModifyStyleEx進行修改窗口的樣式實現具體代碼爲: ModifyS

原创 基於對話框的MFC程序實現非模態對話框主對話框最小化時子對話框不最小化

要實現如上所述的功能,只需在非模態對話框創建的時候,將子窗口的父窗口指向桌面即可,代碼實現如下: CDLG * pdlg = new CDLG(); pdlg.Create(IDD_DLG_DLG, GetDestopWindow());

原创 利用C#版本的GDAL中的ReadRaster函數讀取單波段複數圖像

        近期組裏在做一個項目,需要讀取單波段的複數影像,開發平臺爲C#想利用C#版本的GDAL來讀取影像,但是在使用過程中遇到了困難,因爲在C#版本中的GDAL讀取影像的函數ReadRaster針對每一種數據類型有一個重載函數,對

原创 MFC利用CPen與CBrush繪製實心圓

實現代碼如下 void CMyPaintView::MDrawRedArc(CPoint point, int mSize) { CPoint tmppoint; tmppoint.x=point.x-mSize; tmppoint.y

原创 計算任意時刻格林尼治視恆星時角

近期學習衛星軌道方面的一些知識,遇到計算任意時刻格林尼治視恆星時角的問題,在網上搜了好久也沒有一個完整的解決方案,後來通過,網上的一些零碎的信息,終於完成了計算格林尼治視恆星時角的程序,先整理如下。 計算格林尼治視恆星時角,首先需要計算當

原创 使用CTabView實現多視圖(一體多面)

一般書中介紹的是使用CSplitterWnd來拆分窗口實現多視圖,CSplitterWnd中的CreateClient可以保存其創建的pCreateContext指針,以便子視圖共享Document。這我用一篇文章詳細說明。CTabVi

原创 關於C++堆棧溢出的問題

最近做一個項目的過程中,由於需要定義許多數組,在編譯過程中沒有出現任何問題,但是運行時卻報錯說堆棧溢出,查找了一天也找不出問題到底出在哪裏,後來上網搜說可以改VS2010堆棧的默認大小在項目→屬性→鏈接器→系統中更改堆棧的大小,如下圖所示

原创 怎樣判斷一個文件存在(vc)

最近的項目是對文件操作的,所以,多少都遇到一些關於文件操作的問題.用到最多的還是文件打開,文件讀寫,判斷文件存在否.本文不討論文件讀寫,只針對判斷文件存在否. 記得在C#裏,有一個東西,叫做CFile.通過它的方法CFile.Exit

原创 C++中利用CString的Format函數時,剔除浮點數後多餘的零

C++中CString下的Format格式化浮點數時,數字的後邊會有多餘的零如: CString str; str.Format(“浮點數%f",0.5); 其返回結果會是“浮點數0.500000”,這樣看着很不舒服,將%f改爲%g這個問

原创 MFC中CEdit控件實現多行,並且可在界面進行修改

首先給定CEdit控件一個ID,並且分配CString 類型的變量m_str與vector<CString> 類型的變量m_vector,並且定義一個button按鈕,點擊button按鈕爲CEdit控件選擇路徑。定義臨時變量m_str1

原创 剔除std::vector中的重複元素

要剔除vector中重複元素首先使用std::unique找到不同的元素,這樣並不能把重複的元素刪除,因爲unique只是實現了把不同的相鄰元素copy到了前面,返回的iterator是沒有相同相鄰元素的下一個迭代位置,因此若要刪除重複元