Draw Text in the Panel

     好久沒來寫東西了,一直忙著手上的項目。趁著最近閒置時間,繼續研究GDI+。之前看到一個系統中圖形編輯功能,感覺很好很強大,後來就準備自己也實現一個,萬事開頭難,先一步一步的來吧,今天先來講講在panel中write text(模仿CAD中的文本繪製)。    大致的思路:用滑鼠在Panel中選中一塊地區,然後,panel中出現input area,供使用者輸入,輸入完後滑鼠右鍵結束輸入,接著用DrawString繪製到panel上。一起來看看效果吧;      

關於PostThreadMessage以及建立線程訊息佇列

譯自msdn(節選):http://msdn.microsoft.com/en-us/library/ms644946(v=vs.85).aspx能接收訊息的線程(即欲向其投遞訊息的線程),必須已經建立了一個訊息佇列,否則調用PostThreadMessage向其發送訊息將失敗。可使用如下方法處理這種情況。首先(在源線程中)建立一個事件對象,然後建立新線程在(源線程中)調用PostThreadMessage之前,使用WaitForSingleObject函數等待事件直至其被(目標投遞線程)設定為

GIS二次開發之初探

     最近一段時間在學習GIS的二次開發,作為新手,最好的方法就是泡論壇,看原碼,當然涉及到地理方面的專業知識,不可能說一兩天就可以弄懂,只有在學習編程的過程中慢慢的去體會一些地理專業上面的知識。     就幾天的時間,學了一點皮毛,先貼圖看看功能吧。          大致的功能包括     ①:鷹眼     ②:屬性資料查詢定位     好像也就上面兩個功能,在最近的幾天會陸續的完善功能    

GIS二次開發之全圖

     全圖是個不需要和地圖進行互動的命令類功能,在實現自訂功能的時候只要重寫OnClick事件即可,在內建的類中,也只有ControlsMapFullExtentCommand這個Command類。哈哈,這個功能幾句話就解決了,看看代碼吧。代碼 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->       

MSDN關於訊息和訊息佇列的詳細解析

About Messages and Message Queues:http://msdn.microsoft.com/en-us/library/ms644927(v=vs.85).aspx#filtering簡要如下:This section discusses the following topics:Windows MessagesMessage TypesSystem-Defined MessagesApplication-Defined MessagesMessage

Tchar.h 中的一般文本映射

為簡化代碼傳輸以方便國際使用,Microsoft 執行階段程式庫為許多資料類型、常式和其他對象提供 Microsoft 特定的“一般文本”映射。您可以使用 Tchar.h 中定義的這些映射,根據使用 #define 語句定義的清單常數,編寫可以為單位元組、多位元組或 Unicode 編譯的一般代碼。一般文本映射是與 ANSI 不相容的 Microsoft 擴充。 使用 Tchar.h 可以從同一個源中產生單位元組、MBCS 和 Unicode 應用程式。Tchar.h 定義以 _tcs

單元測試:Nunit(三)

     第二部分中提到用XML檔案儲存測試的案例資料,然後在程式中可以一次性的讀取資料,而不需要為每一種可能的資料集合寫一個Case。首先,需要定義一個XML的檔案,下面是我定義的一個XML檔案(CaseFile.xml)。代碼 Code highlighting produced by Actipro CodeHighlighter

泛型之關鍵字default、where

①:default      在泛型中,要為某個使用泛型的變數初始化值,可是我們需要考慮的是這個泛型可能是參考型別,也可能是實值型別,這時我們可以藉助default來完成初始化複製。T value = default(T);如果T是參考型別,value = null,如果是T是實值型別,value = 0.②:where                                       約束                                                

web接受UDP訊息

     在之前的winform與資料庫更新中提到一個方法就是用用戶端接受UDP發送的訊息,在web的上實現資料庫的更新時,同樣會想到用接受UDP的方法來實現。第一反應就是將CS中的代碼考到BS中一個按鈕事件下面,可惜接受不了,傷心了一會,去網上查這方面資料的時候,竟然得到一個web中不能接受UDP的結論,當時有點失望,後來看到一個人論壇中簡單的提到了用webservice實現,唉,不管怎樣試試吧。    

MFC:關於MFC視窗對象(CWnd對象)與Window對象(HWND所指對象)的銷毀問題

轉自:http://blog.csdn.net/xiaoxiongli/article/details/1670277 一個MFC視窗對象包括兩方面的內容:一是視窗對象封裝的視窗,即存放在m_hWnd成員中的HWND(視窗控制代碼),二是視窗對象本身是一個C++對象。要刪除一個MFC視窗對象,應該先刪除視窗對象封裝的視窗,然後刪除視窗對象本身。 刪除視窗最直接方法是調用CWnd::DestroyWindow或::DestroyWindow,前者封裝了後者的功能。前者不僅會調用後者,而且會使成員m

DataGridView分級顯示

     DataGridView的分級顯示,如果想找相關的第三方控制項的時候,可以在codeproject中輸入datagridview outlook,有個控制項,看上去還是很不錯的。下面的代碼只是簡單的實現了這個效果,感覺沒必要重寫控制項。      有圖有真相,先看看吧。            好了,這個功能一看就知道了,下面給出完成的代碼(資料來源的綁定就省略了,思路明白就OK,呵呵)代碼 Code highlighting produced by Actipro

MFC非模態對話方塊的銷毀

轉自:http://www.cnblogs.com/afarmer/archive/2012/03/31/2427328.html,節選。 非模態對話方塊相對於模態對話方塊,其建立和銷毀過程和模態對話方塊有一定的區別 。先看一下MSDN的原文:When   you   implement   a   modeless   dialog   box,   always   override   the   OnCancel   member   function   and   call  

GIS二次開發之放大

      剛剛才開始學習GIS的二次開發,前面一個隨筆中記錄了幾種實現平移的方法,今天就來看看地圖放大的功能代碼。      同樣在實現放大的時候我們也來看看幾種不同的方法(按鈕的Event事件中觸發,還有就是利用Com技術,編譯為DLL,註冊到機器中)。      第一種方法編譯成DLL註冊代碼 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 

時間控制項(Time Control)

      之前在網上看時間控制項,看到這個http://hi.baidu.com/fxh19860822/blog/item/dd17d923343556ae4623e8e9.html,感覺顏色蠻好的,後來覺得要是時針、分針、秒針也可以供使用者互動就更好了,不管怎樣,有了idea就試試吧。      老規矩,先看吧(鐘面的顏色用了上面給出地址中時鐘的鐘面顏色)。          

_endthreadex與CloseHandle

轉自:http://bbs.csdn.net/topics/340008167CreateThread是系統API,

CAD—滑鼠懸浮顯示資訊

    在CAD2006中,可以借用Editor的兩個事件來實現滑鼠的懸浮顯示資訊的功能,即ToolTip。這兩個事件都可以實現ToolTip的功能。具體代碼如下:代碼 Code highlighting produced by Actipro CodeHighlighter

單元測試:Nunit(一)

      各種語言在開發過程中都支援單元測試,在C#中我們用Nunit進行測試,官方網:www.nunit.org,目前最新的穩定版本是Nunit2.5,下載msi檔案安裝即可用,VS2005的開發使用者可以用Nunit2.48,至於2.5可支援就沒有研究了。        在VS2005中添加引用nunit.framework.首先我們在進行測試之前,先編寫一個類,這個類(原類)將在後面被用於示範如何進行單元測試CodeCode highlighting produced by

GIS二次開發之縮小

     前一篇隨筆中記錄了地圖放大功能的實現,其中很多方法和這篇中要說的縮小很像,比如ControlsMapZoomOutTool和ControlsMapZoomOutFixedCommand。那在這篇中就忽略掉這兩個方法的實現了,直接看看自訂縮小功能的實現代碼代碼 Code highlighting produced by Actipro CodeHighlighter

MFC:只允許產生一個應用程式執行個體的具體實現

轉自:http://blog.csdn.net/sdcxyz/article/details/6804566 ,有改動。 Windows是多進程作業系統,架構產生的應用程式可以多次運行,形成多個運行執行個體。但在有些情況下為保證應用程式的安全運行,要求程式只能運行一個執行個體,比如程式要使用只能被一個進程單獨使用的特殊硬體(例如數據機)時,必須限制程式只運行一個執行個體。這裡涉及兩個基本的問題:一是在程式的第二個執行個體啟動時,如何發現該程式已有一個執行個體在運行;二是如何將第一個執行個體啟用,

CAD—定義委託非同步添加實體

   先簡單的介紹下同步和非同步委託:        (1)同步委託:委託的Invoke方法用來進行同步調用。同步調用也可以叫阻塞調用,它將阻塞當前線程,然後執行調用,調用完畢後再繼續向下進行。        (2)非同步委託:非同步呼叫不阻塞主線程,而是把調用線上程池中的新線程中執行,我們可以不必關心,也無需關心這個“新線程”是怎麼定義的   委託的非同步呼叫通過BeginInvoke和EndInvoke來實現。        直接上代碼看的直觀.    代碼 Code

總頁數: 61357 1 .... 9571 9572 9573 9574 9575 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.