程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 深入淺出CChart 每日一課——第三課 初識交互功能,那山那水那人

深入淺出CChart 每日一課——第三課 初識交互功能,那山那水那人

編輯:關於C語言

下面請用VC6打開第一課編寫的程序,並運行之,出現第一課最後一張圖的那個界面。

把鼠標在程序的窗口裡四處動動,是不是圖像的狀態隨著鼠標位置的移動有所變化呢?

是的,的確是這樣,這就是CChart的交互功能在起作用了。

非常奇特的地方在於,我們並沒有為交互功能添加任何代碼!!!

為了完整地體驗CChart的交互功能,需要把第一課的程序略作修改。

在VC中打開Lesson01.cpp文件,找到ATOMMyRegisterClass(HINSTANCEhInstance)這個函數,並在函數裡找到下面這一行。

 
wcex.style			= CS_HREDRAW | CS_VREDRAW;
 


把這一行修改成下面這樣。

 
wcex.style			= CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
 


修改的原因是VC的Win32Application向導自動產生的程序默認是不響應鼠標雙擊的,上面的修改讓我們的程序能夠響應鼠標雙擊。

是不是簡單了點,下面還需要寫代碼嗎?

真的不需要了,這一課的代碼編寫到此為止。

下面簡單介紹CChart的交互功能。

3.1交互的對象

CChart中交互的對象稱為圖元,圖元的具體范圍包括圖像標題、繪圖區、曲線、坐標軸、圖例。

為了解釋上面的幾種圖元,我們首先把圖例顯示出來。

在程序的客戶區右鍵點擊鼠標,出現如圖的右鍵菜單。

SouthEast

點擊“ShowLegend”,程序界面變成下面這樣。

SouthEast

哈哈,圖例顯示了出來。

下面笨笨把程序界面修改一下,就能顯示各種圖元是什麼了。修改方法不是修改代碼,而是利用交互功能直接在程序運行時改,同學們一會也會自己改了。

SouthEast

3.2圖元高亮

當鼠標掠過某個圖元時,該圖元即高亮。

如圖是圖像標題高亮。

SouthEast

對於坐標軸高亮、曲線高亮、數據區高亮、圖例高亮,這裡就不演示了,同學們自己動動鼠標就可以看見效果。

可以想一想,圖像標題、坐標軸等圖元的高亮,實現應該不難,因為它們僅僅是個方框,但對於曲線的高亮,是不是就不那麼容易了吧?這可是笨笨的獨門絕技喲,呵呵。本人在CSDN的下載頻道有一個CChart的全源碼版本,如果哪位同學有興趣想知道是怎麼實現曲線的高亮的,可以下載下來看看。

3.3圖元選擇

圖像標題、坐標軸、曲線這三種圖元可以被選擇。

當鼠標位於某圖元之上時,按鼠標左鍵可以選擇之。其中曲線的選擇還可以在圖例中按左鍵選擇。

下圖顯示了曲線被選擇後的界面,線寬加大並變色。當然沒有對比是看不出來變化的,需要和上圖比較。

SouthEast

3.4選擇切換

切換選擇圖元的方法是Space鍵,按下Space鍵,將按照標題-->各條坐標軸-->各條數據曲線-->標題的順序切換選擇。多個坐標軸和多條數據曲線將按照它們添加的順序切換。

同學們可以按空格鍵試試看。

3.5圖元編輯

當某個圖元處於被選擇的狀態時,按下Enter鍵,即彈出一個對話框,可以對該圖元的屬性進行編輯。

例如上圖中曲線被選擇,按下回車,出現如下對話框。

SouthEast

在這個對話框裡可以對圖元的很多屬性進行修改。例如這裡把Title改成“CChart的新數據”,按下OK鍵後,圖像界面就相應地修改了。

SouthEast

改變的地方在圖例中,圖例中的文字就是曲線的標題。如果有多條曲線,每條曲線都有一個標題。

除了回車鍵以外,還可以用鼠標雙擊的方式調出屬性對話框。

3.6右鍵菜單

本節課的最前面已經出現右鍵菜單了,那裡用右鍵菜單調出圖例。

其實右鍵菜單的功能非常豐富,同學們自己可以隨便試一下,看看各條菜單的作用和效果。

好了,下課鈴響了,本節課的內容相當豐富,但實際上只寫了半句代碼。其實這半句代碼也可以不寫,對功能的影響僅僅在於鼠標雙擊不起作用。這個問題你不能怪笨笨,要怪的話,你去找比爾蓋茨。

這兩課基本都屬於瞎掰,下節課開始要准備一些干貨了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved