帮帮我,顺便考考你,请进〉〉〉〉〉〉〉
1 set myform = new form1和
dim myform as new form1及
static my form = new form1的区别是什么?
2,用set myform = new form1和
dim myform as new form1后,myform 从form1 中继承了什么?代码设定的属性和 方法能继承吗?
3,为什么set myform =new form1以后,在form1中调用的windowmove API, form1不可以用,而myform却好用呢?
4,有什么办法可以让 dim myform as new form1 的每个窗体(包括form1)都实现 调用windowmove API
问题点数:20、回复次数:24Top
1 楼yangzhaoyu(老妖)回复于 2001-10-30 10:51:40 得分 0
msdnTop
2 楼foolishtiger(冬蛩)回复于 2001-10-30 11:02:11 得分 3
1 set myform = new form1和
dim myform as new form1及
static my form = new form1的区别是什么?
set myform = new form1是显式产生一个form1的实例
dim myform as new form1是声明一个变量并自动生成其实例(此时并未生成,要在第一次引用到myform这个变量时才会自动生成)
static my form = new form1与第二句基本相同,只是变量的生命期不同,它是静态变量,使用 Static 语句声明的变量会一直保持其值,直至该模块复位或重新启动。
2,用set myform = new form1和
dim myform as new form1后,myform 从form1 中继承了什么?代码设定的属性和 方法能继承吗?
能,几乎和form1是一样的.
3,为什么set myform =new form1以后,在form1中调用的windowmove API, form1不可以用,而myform却好用呢?
4,有什么办法可以让 dim myform as new form1 的每个窗体(包括form1)都实现 调用windowmove API
你把API的声明写到窗体中,就应该可以解决这两个问题了
Top
3 楼chouab(我的工作啊!)回复于 2001-10-30 14:42:33 得分 0
您是说把Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeightAs Long, _
ByVal bRepaint As Long) As Long
写在form1中吗?
Top
4 楼chouab(我的工作啊!)回复于 2001-10-30 14:59:29 得分 0
2,用set myform = new form1和
dim myform as new form1后,myform 从form1 中继承了什么?代码设定的属性和 方法能继承吗?
能,几乎和form1是一样的.
几乎是什么意思,如果不是完全一样,区别是什么?Top
5 楼chouab(我的工作啊!)回复于 2001-10-30 15:04:11 得分 0
把API的声明写到窗体中,就应该可以解决这两个问题了。。。。。好像不行的,再指点一下好吗?Top
6 楼foolishtiger(冬蛩)回复于 2001-10-31 14:11:54 得分 1
几乎的意思是有区别,
区别是什么呢?就象克隆羊和原来的羊的区别一样.
就给出你完整的代码,我帮你看看吧Top
7 楼chouab(我的工作啊!)回复于 2001-11-01 10:34:32 得分 0
MDIform的源代码:
Private Sub menuopen_Click()
openatable
End Sub
Public Sub openatable()
On Error GoTo userCancelled
Dim response As String
theFile = MapInfo.Eval("FileOpenDlg("""","""",""TAB"",""Open Table"")")
‘thefile 是文件路径
If theFile <> "" Then
tabName = MapInfo.Eval("PathToTableName$( """ & theFile & """ )")
'获得文件名
MapInfo.Do "Open Table """ & theFile & """ as " & tabName
'在后台打开表文件,其中包含图片(地图),但不可见
Else
Resume Next
End If
If thereisamap Then
MsgBox "新建地图窗口吗?", vbYesNoCancel + vbQuestion, "打开方式"
response = MsgBox("新建地图窗口吗?", vbYesNoCancel + vbQuestion, "打开方式")
If response = vbYes Then
Set myform1 = New frmMap ‘???????????????
With myform1
.Caption = tabName
.Show
End With
MapInfo.Do "Set Next Document Parent " & myform1.hwnd & " Style 1"
'让myform1作为下面打开的document(即图片)的容器
MapInfo.Do "map from " & tabName
'打开表中的document(图片)
mapid = Val(MapInfo.Eval("FrontWindow()"))
'获取当前document(图片)窗口的id
Else
Exit Sub
End If
Else
Set myform1 = New frmMap
With myform1
.Caption = tabName
.Show
End With
MapInfo.Do "Set Next Document Parent " & myform1.hwnd & " Style 1"
MapInfo.Do "Map From " & tabName
mapid = Val(MapInfo.Eval("FrontWindow()"))
thereisamap = True
End If
userCancelled:
Resume Next
End Sub
frmmap的代码:
Private Sub Form_Load()
frmMap.ScaleMode = 3
End Sub
Private Sub Form_Resize()
Dim mHwnd As Long ' Holds the window handle
mHwnd = CLng(MapInfo.Eval("WindowInfo(" & mapid & "," & WIN_INFO_WND & ")"))
' Pass the 'new' form dimensions to the MoveWindow API
MoveWindow mHwnd, 0, 0, ScaleWidth, ScaleHeight, 1
End Sub
model1的源代码
Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal nWidth As Long, ByVal nHeight As Long, _
ByVal bRepaint As Long) As Long
您给看看,不胜感激。Top
8 楼chouab(我的工作啊!)回复于 2001-11-01 11:56:21 得分 0
why?Top
9 楼gwolf(阿呆)回复于 2001-11-01 16:49:57 得分 1
靠,关注一下吧Top
10 楼pctommy(pctommy)回复于 2001-11-02 19:52:09 得分 1
只好……关注并学习Top
11 楼dofy(盗匪)回复于 2001-11-02 20:27:03 得分 1
我的统统的不明白Top
12 楼pp616(坏蛋)回复于 2001-11-02 20:46:33 得分 1
呵呵。Top
13 楼chouab(我的工作啊!)回复于 2001-11-02 20:53:26 得分 0
to foolishtiger(吴文智):
好想你呀,你在哪儿呀。Top
14 楼chouab(我的工作啊!)回复于 2001-11-03 17:09:00 得分 0
to foolishtiger(吴文智):
不看算了,下次不要这么捉弄人了!!!!Top
15 楼foolishtiger(冬蛩)回复于 2001-11-05 13:57:00 得分 0
to foolishtiger(吴文智):
不看算了,下次不要这么捉弄人了!!!!
你这话是什么意思?我上面回答了那么多,别的不说吧,光打字也打得不少啦!你倒好,这样说我,你有没有良心啊?你提的问题,别人还得一天二十四小时分分秒秒地实时关注啊!
不好意思,我只会你所说的"捉弄人",白白了您呢!Top
16 楼chouab(我的工作啊!)回复于 2001-11-06 08:41:59 得分 0
我只是等了一个星期,等某些自诩为“专家“的来帮忙,千等万等也等不来
,几句抱怨而已,我知道你忙,你说看看代码,可贴了那么长时间,太阳也下山了,我每天
有10个小时守着贴子等,光等着说帮我看代码的人到来。
你不看也就算了,早知今日何必当初,还“不好意思,我只会你所说的"捉弄人",白白了您呢!“,会不会打字,俺看不懂的,帮忙解释一下好不好,恶心!!!你以为你是谁, 离开你csdn就不转啦,你到底会不会还不一定呢。
谢谢你和你打的字,该给的分我一定给的,放心好了。下次也不用劳你大架了,我只需要真心帮忙的人回答问题。哎,谁叫咱没有本事呢,只好让人寒碜了。
Top
17 楼haitaoyu(咸鱼晾肚皮)回复于 2001-11-06 10:29:48 得分 1
你的程序怎么了?Top
18 楼chouab(我的工作啊!)回复于 2001-11-06 11:15:27 得分 0
haitaoyu(i老虎u):你好,谢谢你,我的问题如下:
为什么set myform =new form1以后,在form1中调用的windowmove API(让窗口中的picture跟窗口一起变大小), 原来的form1居然不可以实现该功能了,而myform却好用?有什么办法可以让 dim myform as new form1 的每个窗体(包括form1)都实现 调用windowmove API。Top
19 楼chouab(我的工作啊!)回复于 2001-11-06 11:17:16 得分 0
源代码在上面Top
20 楼haitaoyu(咸鱼晾肚皮)回复于 2001-11-06 12:33:31 得分 1
我没有遇到过这种情况,你的意思是被继承的窗体不能用api函数吗?Top
21 楼donglw(天行)回复于 2001-11-06 13:38:02 得分 0
你这些问题在MSDN里面讲解详细的一塌胡涂。Top
22 楼chouab(我的工作啊!)回复于 2001-11-06 14:44:30 得分 0
haitaoyu(i老虎u):
我的问题是用 set myform=new form1 动态创建了几个窗体后,只有最新创建的
窗体可以用 api, 前面几个窗体中的图片都不再随窗体动了,我所有的问题源出于此。源码如上。
donglw(天行):
请你告诉我怎样找到。谢谢。
Top
23 楼yangzhaoyu(老妖)回复于 2001-11-06 16:44:56 得分 10
你的问题可能不是API不能调用,而是MoveWindow 中Hwnd的付值问题.Top
24 楼chouab(我的工作啊!)回复于 2001-11-06 16:59:38 得分 0
yangzhaoyu(老妖):
真是一语惊醒梦中人!!!!!!!!!!!!!!!!!!
给分给分!!!!!
谢谢谢谢谢谢谢谢谢谢谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢
谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢谢谢谢谢谢谢谢谢谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢
谢谢 谢谢 谢谢 谢谢Top




