⒏ 显示图形
图形已经绘制完成。要将图形显示在窗体中,需要做以下两件工作:
(1)编写DrawingForm_Load_Load事件处理程序
在窗体DrawingForm_Load的Load事件中,将PictureBox控件的Paint事件连接到事件处理器方法,同时将PictureBox控件附加到DrawingForm_Load窗体:
private: System::Void DrawingForm_Load_Load(System::Object^ sender, System::EventArgs^ e)
{
// 将PictureBox控件的Paint事件连接到事件处理器方法。
pictureBox1->Paint += gcnew System::Windows::Forms::PaintEventHandler( this, &DrawingForm::pictureBox1_Paint );
// 将PictureBox控件附加到窗体。
this->Controls->Add( pictureBox1 );
}
(2)用主窗体“技术分析”菜单的“绘图”命令显示DrawingForm_Load窗体
在绘图ToolStripMenuItem_Click过程中添加以下代码:
private: System::Void 绘图ToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e)
{
DrawingForm^ drawingfrm=gcnew DrawingForm();
drawingfrm ->Show();
}
最后,在StockMrktAnls.h代码文件的顶部添加一行代码,将DrawingForm_Load窗体的头文件包含进来:
#include "DrawingForm_Load.h"
四、运行实例程序
⑴ 从“文件”菜单中,选择“全部保存”。
⑵ 按 Ctrl+F5 运行应用程序。显示主窗口。
⑶ 从主窗口选择“技术分析”菜单下的“绘图”命令,显示“绘图”窗口,如图9所示。

图9 显示图形
在“绘图”窗口中,上框显示上证指数2002-04-01至2002-06-28的日K线图,下框显示用条形表示成交量图。
五、结语
(1)VC++.NET图形编程使用GD+。GD+是一组类,其中Graphics 类是 GDI+ 的核心功能。使用GD+完全遵循面向对象的一般编程方法,可根据需要选用其中的类建立对象,然后使用这些对象的方法或属性来绘图。
(2)如果希望自动重绘图形或文本,应该在窗体中添加一个PictureBox控件,再重写控件的 Paint 事件处理程序,在其中编写绘图的代码,然后在窗体的Load 事件处理程序中,将PictureBox控件的Paint事件连接到事件的处理器方法,并将PictureBox控件附加到窗体。这样,在窗体加载时图形也显示出来,实现了自动重绘。
不能在窗体的 Load 事件处理程序中调用绘制图形或文本的方法,也不能直接编写绘图的代码。
(3)为了便于程序调试、功能扩展和系统维护,编码中涉及图形位置、大小、文本格式等的数据都尽可能用变量来保存。依赖于其他变量的这类数据,用其他变量的表达式来表示。
参考文献
[1] 范晓平.跟着实例学Visual C++ 6.0访问数据库·绘图·制表,北京航空航天大学出版社,2003.
[2] Microsoft Corporation.MSDN Library for Visual Studio 2005.
|