主要内容

幻方融入一个COM应用程序

概述

这个例子使用一个简单的MATLAB®文件需要一个输入并创建一个这种规模的幻方。然后构建一个COM组件使用MATLAB文件作为一个类方法。最后,例子展示了该组件的集成到一个独立的微软®Visual Basic®应用程序。应用程序接受幻方的大小作为输入,并在一个列表视图控件中显示矩阵的盒子。

请注意

视图是一个窗户®表单控件图标显示的项目列表。您可以使用一个列表视图创建一个用户界面的右窗格中Windows资源管理器。看到MSDN图书馆更多信息关于Windows表单控件。

创建MATLAB文件

首先,创建MATLAB文件mymagic.m包含以下代码:

函数y = mymagic (x);y =魔法(x);

使用的库编译器应用程序创建和构建项目

  1. 在MATLAB编译器应用程序开放图书馆。

  2. 选择通用的COM组件作为应用程序类型。

  3. 添加mymagic.m导出的列表功能。

    mymagic.m位于MagicDemoComp文件夹中。

  4. 单击按钮。

创建微软Visual Basic项目

请注意

这个过程假定您正在使用微软Visual Basic6.0。

  1. Visual Basic开始。

  2. 在新项目对话框中,选择安装>模板>其他语言>Visual Basic>Windows表单应用程序随着项目的类型,然后单击开放。这将创建一个新的Visual Basic项目空白表格。

  3. 从主菜单,选择项目>引用项目引用对话框打开。

  4. 选择magicdemo 1.0类型库从列表中可用的组件和点击好吧

  5. 回到Visual Basic主菜单,选择项目>添加组件…打开对话框添加新项。

创建用户界面

创建项目后,添加一系列的控制空白表单创建一个表单使用以下设置。

控制类型 控制的名字 属性 目的

框架

第一帧

标题=魔术方块演示

组织的控制

标签

Label1

标题=幻方的大小

标签幻方编辑框。

文本框

edtSize

接受输入的幻方的大小。

命令按钮

btnCreate

标题=创建

当按下时,创建一个新的幻方与当前大小。

列表视图

lstMagic

网格线=真正的

LabelEdit =lvwManual

视图=lvwReport

显示了幻方。

当表单和控制完成后,将以下代码添加到表单。这段代码引用上述控制和变量名。如果你有不同的名称的任何控制或任何变量,改变这段代码,以反映这些差异。

公共类magicvb私人sizeMatrix双“持有私人theMagic magicdemo当前矩阵大小。magicdemoclass‘魔法对象实例的私人潜艇magicvb_Load(发送者作为对象,e EventArgs)处理MyBase。负载的加载形式时,将调用此函数。“创建一个新的魔法类实例。新magicdemo On Error GoTo Handle_Error theMagic =。magicdemoclass sizeMatrix = 0退出子Handle_Error:对话框(Err.Description)结束子私人潜艇ShowMatrix (matrixMagic对象)的这个函数填充列表视图的内容“y y是假定包含一个二维数组。暗szSquare只要暗indxRow只要暗indxCol只要暗nLen只要On Error GoTo Handle_Error得到数组的大小如果IsArray (matrixMagic)然后szSquare = UBound (matrixMagic, 1)其他szSquare = 1结束如果lstMagic.Clear () lstMagic.Columns.Add (" ") cIndx = 1 szSquare lstMagic.Columns.Add(装运箱(cIndx))下lstMagic。视图=视图。细节indxRow = 1 szSquare昏暗的项新ListViewItem(装运箱(indxRow))为indxCol = 1 szSquare item.SubItems。添加(Format(matrixMagic(indxRow, indxCol))) Next lstMagic.Items.Add(item) Next Exit Sub Handle_Error: MsgBox(Err.Description) End Sub Private Sub btnCreate_Click(sender As Object, e As EventArgs) Handles btnCreate.Click 'This function is called when the Create button is pressed. 'Calls the mymagic method, and displays the magic square. Dim matrixMagic As Object If sizeMatrix <= 0 Or theMagic Is Nothing Then Exit Sub On Error GoTo Handle_Error Call theMagic.mymagic(1, matrixMagic, sizeMatrix) Call ShowMatrix(matrixMagic) Exit Sub Handle_Error: MsgBox(Err.Description) End Sub Private Sub edtSize_TextChanged(sender As Object, e As EventArgs) Handles edtSize.TextChanged 'This function is called when ever the contents of the 'Text box change. Sets the current value of Size. On Error Resume Next sizeMatrix = CDbl(edtSize.Text) If Err.Number > 0 Then sizeMatrix = 0 End If End Sub End Class

创建可执行微软Visual Basic

代码完成后,创建一个独立的可执行文件magic.exe:

  1. 该项目通过选择重新开放文件>保存项目从主菜单。接受默认的名称主要形式和输入magic.vbp项目名称。

  2. 返回到文件菜单。选择文件>使magic.exe创建成品。

测试应用程序

您可以运行magic.exe可执行像任何其他程序。当主对话框打开时,在输入框中输入一个正数和点击创建。会出现一个输入大小的幻方。

列表视图自动控制实现滚动幻方大于4×4。