DrawText哪里错用了啊

whupyf 2003-05-10 10:14:32
VB 6.0里
声明:
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long


DrawText vbNull, windowhandle, b, d, RECT1, "DT_LEFT"

b是字符串 string
d应该大于等于b的长度,long型的.

可是运行时说ByRef arguement type missmatch

可是声明里说是长型啊,而且是直接引用啊
...全文
158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whupyf 2003-05-11
  • 打赏
  • 举报
回复
55555555555.

问题解决.
danielinbiti 2003-05-10
  • 打赏
  • 举报
回复
申明没错,调用多了个参数
用户 昵称 2003-05-10
  • 打赏
  • 举报
回复
Option Explicit

Private Const DT_CENTER = &H1
Private Const DT_VCENTER = &H4
Private Const DT_SINGLELINE = &H20
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long

Private Sub Command1_Click()
Dim dc As Long
dc = GetDC(Me.hwnd)
Dim r As RECT
GetWindowRect Me.hwnd, r
MyScreenToClient Me.hwnd, r
DrawText dc, "admin", Len("admin"), r, DT_CENTER Or DT_VCENTER Or DT_SINGLELINE
ReleaseDC Me.hwnd, dc
End Sub

Private Sub MyScreenToClient(h As Long, r As RECT)
Dim p As POINTAPI
p.x = r.Left
p.y = r.Top
ScreenToClient h, p
r.Left = p.x
r.Top = p.y
p.x = r.Right
p.y = r.Bottom
ScreenToClient h, p
r.Right = p.x
r.Bottom = p.y
End Sub
whupyf 2003-05-10
  • 打赏
  • 举报
回复
DrawText windowhandle, b, d, RECT1, "DT_LEFT"
仍然有问题
错误13:类型不匹配.

估计是RECT1的错误

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private RECT1 As RECT

哪里有问题啊?
TechnoFantasy 2003-05-10
  • 打赏
  • 举报
回复
你调用有错误,函数的参数是5个,而你的调用中传递了6各参数,里面的vbNull甚么意思啊?
内容概要:本文介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度模型,综合考虑风能、光伏、储能系统、柴油发电机、燃气轮机以及与主电网之间的能量交互等多种分布式能源的协同运行。通过构建以运行成本最小化、碳排放最低化和系统可靠性最优化为目标的多目标优化模型,利用Matlab平台实现MOPSO算法求解,完成对微电网在不同运行场景下的能量管理与调度方案优化。该模型能够有效平衡经济性与环保性之间的关系,适用于含多类型分布式电源的复杂微电网系统,具有较强的工程应用价值和科研参考意义; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事微电网、智能电网、综合能源系统、可再生能源集成与优化调度等领域研究的专业人士; 使用场景及目标:①用于多能源耦合微电网系统的协同优化调度研究;②支持多目标智能优化算法在能源系统中的建模与求解实践,帮助用户掌握MOPSO在实际工程问题中的应用方法;③为学术论文复现、毕业设计、科研项目开发提供完整的代码实例与技术支撑; 阅读建议:建议读者结合Matlab代码与理论文档,深入理解目标函数构建、约束条件处理及Pareto最优解集生成机制,重点关注算法参数设置、多目标权衡分析与结果可视化,并可通过调整能源配置或引入新约束进行二次开发与创新研究。

1,488

社区成员

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

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