谁能将这段代码改正,并说明(急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)

greensoft 2001-02-01 03:38:00
小第是个初学者,这个问题可能不是很难,但对我来说这太难了、轻指教!Option OPTION Explicit
Declare Sub SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer)

Private Sub Form_Load()
Form1.Width = 4680
Form1.Height = 4260
End Sub

Public Sub Option1_Click()
Call SetWindowPos

End Sub


...全文
601 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
jadgekylin 2001-02-03
  • 打赏
  • 举报
回复
另外我这里有一个htm格式的所有api的用法,有需要的可以向我索要。
jadgekylin 2001-02-03
  • 打赏
  • 举报
回复
有问题可以写信:
qi.lin@371.net
jadgekylin 2001-02-03
  • 打赏
  • 举报
回复
to yfeng:
对于sub,用call 的时候,函数名后一定要带括号
如果不用call,直接用函数名,后面必须不能带括号。
function 不能用call,

上述不全正确,对于function 也可以使用call ,只是使用的结果是忽略掉function的返回值。
yfeng 2001-02-02
  • 打赏
  • 举报
回复
问题很简单
对于sub,用call 的时候,函数名后一定要带括号
如果不用call,直接用函数名,后面必须不能带括号。
function 不能用call,
flynature 2001-02-02
  • 打赏
  • 举报
回复
你不加参数?????你的目的是什么???能不能讲清楚一点啊!!
vbdabster 2001-02-02
  • 打赏
  • 举报
回复
这位老兄好像直到现在都没有说清楚到底要干什么阿
limengchen 2001-02-02
  • 打赏
  • 举报
回复
Call SetWindowPos后面要加参数呀。
jinkai_woo 2001-02-01
  • 打赏
  • 举报
回复
调用方法不对!
例如:
SetWindowPos hwnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
(让窗口在最上面)
prefix 2001-02-01
  • 打赏
  • 举报
回复
还有,对于api,从api浏览器中复制声明代码比较好。你上面把所有的长型都写成Integer了,这样很可能遇到出错的机会。应该这样:
Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
prefix 2001-02-01
  • 打赏
  • 举报
回复
在声明部分再加上
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
这两句
然后把你的Call SetWindowPos 一句改为这样:
Call SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0,SWP_NOMOVE Or SWP_NOSIZE)
proman 2001-02-01
  • 打赏
  • 举报
回复
给你一个简单的例子:
Dim dl&, position&
If chkTopmost.Value = 1 Then position = HWND_TOPMOST Else position = HWND_NOTOPMOST
dl& = SetWindowPos&(hwnd, position, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
dl&不为0为成功
crazymens 2001-02-01
  • 打赏
  • 举报
回复
函数用call也可以!但是起码后面的参数你要写阿,不能想上面的程序那样什么参数都没有!上面程序肯定会报告参数不可选错误!至于这个函数怎么用,看msdn!
haor 2001-02-01
  • 打赏
  • 举报
回复
你把api定义在窗体中了吗?
你在调用的时候好像没传参数。
playyuer 2001-02-01
  • 打赏
  • 举报
回复
'如不用 Call,或不要返回值,则不用加括号
'如要得到返回值加括号
'r = SetWindowPos (...)
Call SetWindowPos (...)'加括号

greensoft 2001-02-01
  • 打赏
  • 举报
回复
to: TechnoFantasy()
我问的是用call怎么调用 api
TechnoFantasy 2001-02-01
  • 打赏
  • 举报
回复
不知道你到底是什么问题,API中正确的定义:
Public Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
将错误代码贴上来看看
www.applevb.com
greensoft 2001-02-01
  • 打赏
  • 举报
回复
!
gameboy999 2001-02-01
  • 打赏
  • 举报
回复
:)
DeD 2001-02-01
  • 打赏
  • 举报
回复
有时候只要知道什么是对的,什么是错的就可以
呵呵。。。见笑
greensoft 2001-02-01
  • 打赏
  • 举报
回复
gameboy999(
你说的对
加载更多回复(12)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧