亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chap09.htm

?? 創世紀的c++ builder教程 創世紀的c++ builder教程
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
<P>    m_bDraw = FALSE;</P><P>    m_pObj-&gt;OnMouseUp(X,Y);</P><P>}</P><P> </P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>瞧!這就是更改後的程式,是不是變得格外簡潔呢?除此之外,它最大的優點在於,無論我們日後加入了多少繪圖物件,你都不需再修改以上程式中關於繪圖物件的處理部份,只要再自行增加一個物件宣告即可。和原先</FONT><FONT SIZE=2>Borland</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>公司產品內附由</FONT><FONT SIZE=2>Object Pascal</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>修改而來的范例,它的</FONT><FONT SIZE=2>C++ </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>血統純正多了。而且若是日後你想要將其修改成為一個物件式的繪圖系統,也只需要很簡單的修改而已。</P><P> </P><P>好吧!讓我們先檢閱現在的成果。</P><P> </P><P><IMG SRC="Image11.gif" WIDTH=459 HEIGHT=348></P><P>圖</FONT><FONT SIZE=2>XX-04 CLine</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>繪圖物件范例。</P><P><IMG SRC="Image12.gif" WIDTH=459 HEIGHT=348></P><P>圖</FONT><FONT SIZE=2>XX-05 CPolyline</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>繪圖物件范例(將程式改成</FONT><FONT SIZE=2>new CPolyline</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>)</P><P> </P></FONT><FONT SIZE=2><P>XX-04&#9;</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>工具列(</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>)的使用</P><P> </P><P>到目前為止我們已經將所有繪圖物件定義完成,因此理論上你的程式應該可以畫出各種不同的繪圖物件了。但是前面我提到,目前我們尚未將繪圖物件的選擇功能實作出來,因此我們是以直接修改程式的方式來繪制不同的圖形。這是為了說明方便的權宜之計。</P><P> </P><P>在一般的繪圖程式中都是以工具列的方式來實作出繪圖功能的切換功能,如</FONT><FONT SIZE=2>Windows 95</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>內的小畫家即是一典型例子。因此接下來我就為你說明在</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中實作出工具列的方法。</P><P> </P><P><IMG SRC="Image13.gif" WIDTH=461 HEIGHT=352></P><P>圖</FONT><FONT SIZE=2>XX-06</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>小畫家使用的工具列</P><P> </P><P>在</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中實作工具列的方式和其他的程式如</FONT><FONT SIZE=2>Visual C++</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,</FONT><FONT SIZE=2>Borland C++ </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>不同。後兩者都是直接使用</FONT><FONT SIZE=2>Windows 95</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>內建的工具列型別來達到此功能。然而在</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中因為有一種更為簡單且直接的方式來做到,因此就不采用上述作法</FONT><FONT SIZE=2> (</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>當然</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>也可以用</FONT><FONT SIZE=2>Windows 95</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>內建的</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>型別,只是用法較為復雜。)。</P><P> </P><P>那麼在</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中是如何來實作出工具列呢?說穿了其實很簡單:那就是利用</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>和</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>。</P><P> </P></FONT><FONT SIZE=2><P>CPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>是一個多功能的容器元件,因此我們可以用它來做為工具列的平臺,使用</FONT><FONT SIZE=2>CPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>是因為它是少數幾個可做為容器元件的元件,所以它會自動調整置於其上的軟體元件的位置,因此很適合做為放置工具列的平臺。</P><P> </P><P>注:在</FONT><FONT SIZE=2>C++ Builder</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的程式模式中大量使用</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>來做為容器元件。它除了可以做為</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的平臺外,另外如狀態列</FONT><FONT SIZE=2> (StatusBar)</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>也可以用它來完成,而且它也可以用來做為畫面分割的工具,來達成在</FONT><FONT SIZE=2>MFC</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中類似分割視窗(</FONT><FONT SIZE=2>Splitter Window</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>)效果。</P><P> </P></FONT><FONT SIZE=2><P>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>快速按鈕元件在功能上本來就和工具列有幾分類似,現在我們可以將相同屬性的快速按鈕元件整合在一個</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>中即可完成我們所要的工具列了。</P><P> </P><P>最後我再將工具列的作法按部就班詳述之:</P><P> </P></FONT><FONT SIZE=2><P>(1) </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>在表格上加入</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>元件。</P><OL START=2><LI>設定</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>Align</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質為</FONT><FONT SIZE=2> alTop</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>。因為我們希望工具列置於表格上方,所以將它設定為浮貼於表格的上方。如此一來當表格大小改變時,工具列的寬度為跟著改變,而高度則維持原先的高度。</LI><LI VALUE=3>將</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>加入</FONT><FONT SIZE=2>TPanel</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>原件上。</LI></OL><P> </P><P>你可以在表格中加入多個上述的工具列,它們會依序自動排列於表格的上方,因此你不需費心去處理這些額外的動作。</P><P> </P></FONT><FONT SIZE=2><P>XX-04-01 TSpeedButton </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>元件解析及設定</P><P> </P></FONT><FONT SIZE=2><P>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的幾個基本要素是:</P></FONT><FONT SIZE=2><P>(1) </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>代表該功能的圖形。</P></FONT><FONT SIZE=2><P>(2) </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>可依狀況切換其狀態。</P><OL START=3><LI>當使用者點取該功能時,必須執行該功能。</LI></OL><P> </P><P>我們來看看</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>如何達到以上的要求。</P><P> </P><P>首先,</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>具備</FONT><FONT SIZE=2>Glyph</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質,可以指定其圖形,所以第一個要求不成問題,再來</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>具備以下叁種狀態:</P><P> </P><UL><LI>一般按鈕的功能。</LI><LI>可以除能</FONT><FONT SIZE=2>/</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>致能。</LI><LI>具備群組特性。(也就是說同一群組的</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>會互相影響,因此可輕易做出互斥的功能,以繪圖程式為例,一次只能使用一種工具,因此當使用者選取工具時,除了被選取的工具之外,其他的工具應該都呈浮起狀態)</LI></UL><P> </P><P>由上可知,</FONT><FONT SIZE=2>TSpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>確實是實作</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的適當人選。</P><P> </P></FONT><FONT SIZE=2><P>XX-04-02</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>將</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>加入</FONT><FONT SIZE=2>ToolBar</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P> </P><P>依照我們先前的需求,我們需要一個可以切換繪圖工具的工具列,因此我們就照前面所說的方式來完成它。</P><P> </P><P><IMG SRC="Image14.gif" WIDTH=464 HEIGHT=35></P><P>圖</FONT><FONT SIZE=2>XX-07</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>工具列</P><P> </P><P>圖</FONT><FONT SIZE=2>XX-07</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>就是我所加入的</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,除此之外還有幾個程序必須完成</P><UL><LI>為</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>命名。取一個有意義的名字。</LI><LI>依需要設定其高度及位置。</LI><LI>設定圖形。</LI><LI>設定</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>狀態初值。</LI><LI>設定群組特性。</LI></UL><P>◎&#9;設定事件處理函式。</P><P> </P></FONT><FONT SIZE=2><P>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的命名原則和一般變數的命名原則相同,簡單明了就好。以本程式為例,我們就可以</FONT><FONT SIZE=2>LineButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>、</FONT><FONT SIZE=2>RectangleButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>等名字命名之。命名時只要改變</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>Name</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質即可。</P><P> </P><P>至於設定圖形,只要先選取該</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,然後至物件檢視器點取</FONT><FONT SIZE=2>Glyph</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質,然後將欲選取的點陣圖</FONT><FONT SIZE=2>Load</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>進來,即可完成設定圖形的程序了。</P><P> </P><P><IMG SRC="Image15.gif" WIDTH=294 HEIGHT=254></P><P>圖</FONT><FONT SIZE=2>XX-08 Glyph</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>圖形之選取。</P><P> </P><P>設定狀態初值:由於我們希望本程式執行的初始值是使用</FONT><FONT SIZE=2>CLine</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>元件,因此我將</FONT><FONT SIZE=2>LineButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>Down</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>屬性為</FONT><FONT SIZE=2>True</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,其馀則為</FONT><FONT SIZE=2> False</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>。</P><P><IMG SRC="Image16.gif" WIDTH=464 HEIGHT=35></P><P>圖</FONT><FONT SIZE=2>XX-09</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>選取後的狀態</P><P> </P><P>設定群組特性:群組特性是</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>用以實作出</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的重要功能之一。我們可以將一群</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>設為同一群組,如此一來在此一群組的</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>就具備了互斥特性,也就是說在任何一個</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>按下時,會導致其他的</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>浮起。此為實作</FONT><FONT SIZE=2>ToolBar</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的必備條件,而利用</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>可以輕易達成此目的。</P><P> </P><P>設定群組特性其實很簡單,只要把該群組的</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>GroupIndex</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質設為相同數字即可,在此例中我們希望將所有繪圖工具列按鈕設為同一群組,因此我把該相關工具的</FONT><FONT SIZE=2>GroupIndex</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>性質都設為</FONT><FONT SIZE=2>1</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>。</P><P> </P><P>另外,相信你已經發現在上面的工具列中,除了前面所談到的繪圖工具之外,我還多加了兩個額外的</FONT><FONT SIZE=2>SpeedButton </FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,它們是用來設定筆及筆刷的工具。在此例中,我們是以它來叫出另外兩個設定筆及筆刷的工具列,因此它必須具備所謂</FONT><FONT SIZE=2>Toggle On/Off</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的開關功能。也就是類似</FONT><FONT SIZE=2>CheckBox</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的功能。</P><P> </P></FONT><FONT SIZE=2><P>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>也可輕易達到以上的要求,只要設定該</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>AllowAllUp</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>屬性為</FONT><FONT SIZE=2>True</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>即可以做到此功能。</P><P> </P><P>最後我們必須將設定筆及筆刷的兩個</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,</FONT><FONT SIZE=2>PenButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>及</FONT><FONT SIZE=2>BrushButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>GroupIndex</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>分別設為</FONT><FONT SIZE=2> 2</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>、</FONT><FONT SIZE=2>3</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>,如此才不會和繪圖工具的</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的群組特性相干擾。</P><P> </P></FONT><FONT SIZE=2><P>XX-05</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>工具列的事件處理函式</P><P> </P><P>完成的工具列的設定之後,接著我們要設定工具列的處理函式,由於此工具列是用來切換繪圖工具的,因此我們只要處理</FONT><FONT SIZE=2>SpeedButton</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的</FONT><FONT SIZE=2>OnClick</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>事件,再分別根據不同的事件做處理即可。</P><P> </P><P>在此例中,</FONT><FONT SIZE=2>OnClick</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>的事件處理函式其很簡單,只要刪除原來使用的繪圖工具物件,再重新啟始一個新的繪圖工具即可。</P><P> </P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::LineButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>    delete m_pObj;</P><P>    m_pObj = new CLine(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::PolylineButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>    delete m_pObj;</P><P>    m_pObj = new CPolyline(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::PolygonButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>    delete m_pObj;</P><P>    m_pObj = new CPolygon(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::RectangleButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>     delete m_pObj;</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>&#9;</FONT><FONT SIZE=2> m_pObj = new CRectangle(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::EllipseButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>     delete m_pObj;</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>&#9;</FONT><FONT SIZE=2> m_pObj = new CEllipse(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P><P>void __fastcall TGraphEx::RoundRectButtonClick(TObject *Sender)</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>{</P></FONT><FONT SIZE=2><P>   &#9; delete m_pObj;</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>&#9;</FONT><FONT SIZE=2> m_pObj = new CRoundRect(Canvas);</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P>}</P></FONT><FONT SIZE=2><P>//---------------------------------------------------------------------</P></FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2><P> </P><P>在完成了以上的設定之後,此程式就具備了利用繪圖工具列來切換繪圖工具的功能。</P><P><IMG SRC="Image17.gif" WIDTH=460 HEIGHT=382></P><P>圖</FONT><FONT SIZE=2>XX-10</FONT><FONT FACE="新細明體" LANG="ZH-TW" SIZE=2>具備繪圖工具列的繪圖程式范例。</P></FONT></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看不卡视频| 91国内精品野花午夜精品| 亚洲国产日韩a在线播放| 国产精品美女久久久久aⅴ | 男女男精品网站| 亚洲综合成人网| 亚洲国产日韩a在线播放| 亚洲国产乱码最新视频| 一区二区三区免费看视频| 亚洲图片自拍偷拍| 丝袜国产日韩另类美女| 精品在线播放午夜| 高清国产一区二区三区| 99亚偷拍自图区亚洲| 色欧美片视频在线观看| 欧美日韩国产bt| 精品动漫一区二区三区在线观看 | 久久99九九99精品| 国产美女精品一区二区三区| 国产成人欧美日韩在线电影| 在线精品观看国产| 日韩区在线观看| 国产精品毛片高清在线完整版| 中文字幕综合网| 日韩电影在线免费观看| 国产麻豆一精品一av一免费| 色综合咪咪久久| 欧美一区二区三区视频免费播放| 久久久国际精品| 一区二区三区小说| 久久99深爱久久99精品| 99久久精品99国产精品| 欧美日韩成人综合在线一区二区| 精品999在线播放| 亚洲激情综合网| 一本到一区二区三区| 欧美精品免费视频| 国产精品午夜在线| 免费看日韩a级影片| 99久久99久久精品免费观看| 欧美一二三区在线观看| 亚洲免费在线电影| 国产一区激情在线| 欧美午夜电影网| 中文av字幕一区| 久久国产福利国产秒拍| 在线看国产日韩| 18成人在线观看| 国产一区二区三区av电影| 欧美三级电影在线看| 国产精品网站在线观看| 成人午夜电影网站| 91精品婷婷国产综合久久| 一区二区在线观看视频| 国产精品18久久久| 精品国产伦理网| 日韩成人精品在线| 欧美日本一道本在线视频| 伊人夜夜躁av伊人久久| 风间由美一区二区三区在线观看| 精品日韩99亚洲| 日本欧美加勒比视频| 欧美日韩一级片网站| 亚洲黄色小说网站| 一本久久综合亚洲鲁鲁五月天 | 色94色欧美sute亚洲线路二| 国产亚洲午夜高清国产拍精品 | 五月激情综合色| 欧美综合一区二区| 亚洲已满18点击进入久久| 色综合天天综合网天天狠天天| 中文字幕中文在线不卡住| 国产激情视频一区二区在线观看| 久久一日本道色综合| 国产在线不卡一区| 久久久三级国产网站| 国产黑丝在线一区二区三区| 精品国产亚洲在线| 欧美日韩在线播放一区| 亚洲欧美一区二区三区国产精品| 99国产精品视频免费观看| 亚洲柠檬福利资源导航| 在线中文字幕一区| 热久久免费视频| 欧美精品一区二区三区一线天视频| 韩国午夜理伦三级不卡影院| 国产三级一区二区三区| 成人精品免费视频| 亚洲精品国产高清久久伦理二区| 欧洲一区在线观看| 麻豆久久久久久久| 国产视频一区在线播放| 色呦呦一区二区三区| 午夜视黄欧洲亚洲| 2020国产精品| av一本久道久久综合久久鬼色| 日韩精品国产欧美| 久久亚洲一区二区三区明星换脸| voyeur盗摄精品| 亚洲妇熟xx妇色黄| 欧美精品一区二区久久婷婷 | 亚洲啪啪综合av一区二区三区| 在线免费亚洲电影| 免费在线观看日韩欧美| 国产欧美日韩综合| 欧美日韩亚洲另类| 国产一区二区三区免费在线观看| 亚洲三级免费观看| 精品区一区二区| 欧洲精品视频在线观看| 国内精品写真在线观看| 一区二区三区视频在线看| 国产欧美日韩综合| 精品视频在线免费观看| 国产夫妻精品视频| 首页综合国产亚洲丝袜| 国产精品毛片无遮挡高清| 9191久久久久久久久久久| 成人av动漫在线| 久久国产精品免费| 亚洲高清视频在线| 中文字幕在线一区| 久久影院午夜论| 欧美一级黄色片| 在线视频你懂得一区| 成+人+亚洲+综合天堂| 久国产精品韩国三级视频| 亚洲高清一区二区三区| 国产精品亲子伦对白| 日韩欧美国产小视频| 色吊一区二区三区| 成人激情视频网站| 精品一区二区三区免费视频| 午夜av电影一区| 亚洲国产精品久久不卡毛片| 视频一区二区三区中文字幕| 亚洲国产精品二十页| 欧美精品一区二区三区很污很色的| 欧美精品国产精品| 欧洲在线/亚洲| 欧美性大战久久| 日本韩国一区二区三区视频| 91猫先生在线| 91在线观看视频| 成人开心网精品视频| 国产成人鲁色资源国产91色综| 精品伊人久久久久7777人| 五月天丁香久久| 秋霞成人午夜伦在线观看| 日韩影视精彩在线| 蜜臀久久99精品久久久久久9 | 国产拍欧美日韩视频二区| 日韩区在线观看| 亚洲欧洲三级电影| 亚洲视频综合在线| 亚洲男人的天堂在线aⅴ视频| 中文字幕一区二区三区在线播放| 中文字幕高清不卡| 中文字幕一区在线观看| 国产精品大尺度| 亚洲日本电影在线| 亚洲一区二区三区影院| 天涯成人国产亚洲精品一区av| 亚洲一区二区3| 日本成人在线电影网| 狠狠狠色丁香婷婷综合激情| 国产一区二区美女诱惑| www.欧美.com| 欧美视频在线观看一区| 欧美另类videos死尸| 欧美成人一区二区三区片免费 | 日韩一区二区在线观看视频| 国产网红主播福利一区二区| 欧美国产视频在线| 亚洲在线免费播放| 久久精品国产亚洲a| 国产99一区视频免费| 日本丶国产丶欧美色综合| 欧美一区二区三区视频免费播放| 久久久99精品免费观看不卡| 亚洲欧美电影院| 蜜桃av一区二区在线观看| 成人国产精品免费网站| 欧美日韩国产电影| 国产精品素人一区二区| 亚洲成人一二三| 懂色av一区二区在线播放| 欧美性色aⅴ视频一区日韩精品| 欧美一区二区三区啪啪| 国产视频一区二区三区在线观看| 亚洲午夜精品一区二区三区他趣| 国产一区二区三区在线观看精品 | 欧美va亚洲va| 亚洲欧美一区二区三区极速播放 | 欧美日韩高清在线| 国产亚洲精品7777| 亚洲.国产.中文慕字在线| 成人av在线资源网站| 欧美电影精品一区二区| 亚洲综合在线电影|