我需要将文字输出到PIC1的中央
却发现总是超出了边界
下面的代码,我总是找不到错误的原因,,,请帮助*************************************
Pic1.ScaleMode = 3
Pic1.FontSize = 72
tmidx = (Pic1.Width / 2) - (Pic1.TextWidth("asd") / 2)
tmidy = (Pic1.Height / 2) - (Pic1.TextHeight("asd") / 2)
Pic1.CurrentX = tmidx
Pic1.CurrentY = tmidy
Pic1.Print "asd"
却发现总是超出了边界
下面的代码,我总是找不到错误的原因,,,请帮助*************************************
Pic1.ScaleMode = 3
Pic1.FontSize = 72
tmidx = (Pic1.Width / 2) - (Pic1.TextWidth("asd") / 2)
tmidy = (Pic1.Height / 2) - (Pic1.TextHeight("asd") / 2)
Pic1.CurrentX = tmidx
Pic1.CurrentY = tmidy
Pic1.Print "asd"
解决方案 »
- 各位高人我有一个软件,现在我想给它加个注册,就是需要账号密码才能访问软件,需要怎么加?
- 水晶报表文本显示问题
- 用sendmessage()这个函数怎么向有焦点的窗口发送消息,最好能举个例子,
- 请问高手怎么连接SQL数据库啊,看看下面的有什么问题啊??
- 这个怎么就不行.老是提示用户类型示定义.快疯了!!!
- 请问:如何将所有看得见的控件放入数组??
- 这个sql该怎么写?
- 在VB中如何判断本机的网络联通状态
- Vb6.0中如何在报表里显示出记录号?以及如何让报表在”show”出来之前与数据库保持一致?
- 如何使指定窗口播放的图像通过API抓取到另一个PIC控件中!并同时播放!
- 100分求!怎样实现自动填写网页表单?
- 如何将某个目录下的某一类文件全部查询出来?
Pic1.Height --->Pic1.ScaleHeight
要注意ScaleWidth和width的区别
Dim DefaultStyle As Long
DefaultStyle = GetWindowLong(tBox.hWnd, GWL_STYLE)
NumbersOnly = SetWindowLong(tBox.hWnd, GWL_STYLE, DefaultStyle Or ES_NUMBER)
End Function
还是那句话
请用
Pic1.Width ---->Pic1.ScaleWidth
Pic1.Height --->Pic1.ScaleHeight
你实际验证一下就明白了
Left As Long
Top As Long
Right As Long
Bottom As Long
End TypePrivate Const DT_CALCRECT = &H400Private 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 LongPrivate Sub Picture1_Click()
Dim lp As RECT
Picture1.FontSize = 72
Picture1.ScaleMode = 3
DrawText Picture1.hdc, "ASD", 3, lp, DT_CALCRECT
Picture1.CurrentX = (Picture1.ScaleWidth - lp.Right) / 2
Picture1.CurrentY = (Picture1.ScaleHeight - lp.Bottom) / 2
Picture1.Print "ASD"
End Sub
我可以明天给分吗?今天再继续讨论一下这个问题我想这个简单错误的产生应该是有原因的是不是,,,,在我设定了Pic1.ScaleMode后
控件内的坐标系发生了变化而WIDTH中保存的还是老的坐标系
你这样设置当然有问题.