声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4934|回复: 18

[C/C++] 点击子窗口的按钮,将一个椭圆显示在主窗体的SuperMap当中

[复制链接]
发表于 2011-3-27 18:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
在Visual Studio2005当中,运用superMap控件
回复
分享到:

使用道具 举报

发表于 2011-3-28 08:54 | 显示全部楼层
回复 1 # yunfeizhu 的帖子

你 的 问 题 在 子 窗 口 与 主 窗 口 的 交 互 上 ? 还是在主窗口的控件使用上?
 楼主| 发表于 2011-3-28 08:59 | 显示全部楼层
本帖最后由 yunfeizhu 于 2011-3-28 09:07 编辑

回复 2 # Rainyboy 的帖子

是子窗体与主窗体的交互上,子窗体是由主窗体的菜单栏弹出的,然后点击子窗体,将椭圆显示在主窗体的axSuperMap1上,求教代码该怎么写
QQ截图未命名.jpg
发表于 2011-3-28 09:11 | 显示全部楼层
回复 3 # yunfeizhu 的帖子

子窗口点击完毕后,会关闭吗?
 楼主| 发表于 2011-3-28 09:45 | 显示全部楼层
回复 4 # Rainyboy 的帖子

打算要关闭的,谢谢啊
发表于 2011-3-28 09:52 | 显示全部楼层
回复 5 # yunfeizhu 的帖子

那就需要在子窗口中记录用户点击了哪个按钮是不是?可以在子窗口的类中建立一个私有变量,整型的就可以,当用户点击相应的按钮时,将它设置为不同的值,在主窗口中检查这个值就知道用户点击的是哪个按钮了。
 楼主| 发表于 2011-3-28 10:15 | 显示全部楼层
本帖最后由 yunfeizhu 于 2011-3-28 10:17 编辑

回复 6 # Rainyboy 的帖子

这个代码具体怎么写啊,我太菜,不大会写,子窗体是点击显示按钮,显示的话在主窗体中,
扩散浓度值计算.jpg
发表于 2011-3-28 10:48 | 显示全部楼层
回复 7 # yunfeizhu 的帖子

恩,我大概知道你的意思了,我手头的工作完事了就给你做个DEMO,大概下午吧
 楼主| 发表于 2011-3-28 10:58 | 显示全部楼层
回复 8 # Rainyboy 的帖子

谢谢前辈哦
 楼主| 发表于 2011-3-28 13:45 | 显示全部楼层
回复 8 # Rainyboy 的帖子

前辈我用的是C#
发表于 2011-3-28 17:01 | 显示全部楼层
1.jpg 2.jpg

form1 是主窗口,form2是子窗口

在form1中,添加一个菜单,其响应函数为:


  1.         private void parametersToolStripMenuItem_Click(object sender, EventArgs e)
  2.         {
  3.             Form2 fm2 = new Form2();
  4.             fm2.ShowDialog();
  5.             label1.Text = fm2.p_Name + Environment.NewLine + fm2.p_Age.ToString() + Environment.NewLine +
  6.                 fm2.p_MothlyPay.ToString() + Environment.NewLine + fm2.p_Notes;
  7.         }
复制代码

在form2中,代码为:
  1.     public partial class Form2 : Form
  2.     {
  3.         public String p_Name;
  4.         public int p_Age;
  5.         public String p_Notes;
  6.         public double p_MothlyPay;
  7.         public Form2()
  8.         {
  9.             InitializeComponent();
  10.         }

  11.         private void Form2_Load(object sender, EventArgs e)
  12.         {
  13.             ;
  14.         }

  15.         private void button1_Click(object sender, EventArgs e)
  16.         {
  17.             p_Name = textBox1.Text;
  18.             p_Age = Convert.ToInt32(textBox2.Text);
  19.             p_MothlyPay = Convert.ToDouble(textBox3.Text);
  20.             p_Notes = textBox4.Text;
  21.             Hide();
  22.         }
  23.     }
复制代码

===================================

在form1中点击菜单,打开form2:
3.jpg
4.jpg

点击form2的按钮,关闭form2,数据显示在form1上:
5.jpg






发表于 2011-3-28 17:10 | 显示全部楼层
网速好慢……怎么弄都弄不上……新开了个回复给你附件八,我用的是2010,你很有可能打不开工作区……不过本身也没什么难的……

Vibtemp.rar

42.83 KB, 下载次数: 1

整个工作区

VibtempEx.rar

4.63 KB, 下载次数: 1

可执行文件

 楼主| 发表于 2011-3-28 17:17 | 显示全部楼层
回复 11 # Rainyboy 的帖子

那我点击子窗体按钮,将一个椭圆图形显示在主窗体的SuperMapCtrl上怎么写代码啊?
发表于 2011-3-28 17:18 | 显示全部楼层
本帖最后由 Rainyboy 于 2011-3-28 17:20 编辑

回复 13 # yunfeizhu 的帖子

那是控件的事啊,你不是告诉我你的难点在于子窗口和主窗口的参数传递么?
我翻了下,我的2010里面没有supeemap控件,所以无法尝试了,不过你可以先看看这个控件怎么画直线,然后把你的椭圆分成很多段直线就能画出来了。
 楼主| 发表于 2011-3-28 17:20 | 显示全部楼层
回复 14 # Rainyboy 的帖子

前辈,我不太懂,呵呵,其实就是在SuperMapCtrl上显示一个椭圆就行了,通过子窗体点击
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 11:36 , Processed in 0.072248 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表