能不能让frame透明啊?

hohowu 2003-02-12 07:00:51
高手指教啊!
...全文
1208 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyu5188 2003-02-20
  • 打赏
  • 举报
回复
UP
gang75 2003-02-20
  • 打赏
  • 举报
回复
up
weill 2003-02-20
  • 打赏
  • 举报
回复
dsclub的代码不错,只要把窗体改成平面无边框就好了。
hohowu 2003-02-13
  • 打赏
  • 举报
回复
我找到了MicroSoft Forms 2.0 Object Library
但是不能用啊放到form上,就出现了内存错误。
Sean918 2003-02-13
  • 打赏
  • 举报
回复
按照添加控件的方法,找,有MicroSoft Forms 2.0 Object Library这一项

但不推荐使用,因为改组控件不安全

还是自己画吧
northwolves 2003-02-12
  • 打赏
  • 举报
回复
wxy_xiaoyu(然也) 言之有理。

查找:
c:\windows\system\frm20.dll
hohowu 2003-02-12
  • 打赏
  • 举报
回复
谢谢你们的回答。
to dsclub:我好的效果是在form里loadpicture进来,然后要frame透明后能够 看到下面的图片:)thank you all the same.
to wxy_xiaoyu:你说的在那里啊,我怎么没找到?
Sean918 2003-02-12
  • 打赏
  • 举报
回复
添加控件: MicroSoft Forms 2.0 Object Library
dsclub 2003-02-12
  • 打赏
  • 举报
回复
Option Explicit
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32.dll" ( _
ByVal hwnd As Long, _
ByVal crKey As Long, _
ByVal bAlpha As Byte, _
ByVal dwFlags As Long) As Long
Private Const GWL_EXSTYLE As Long = (-20)
Private Const WS_EX_LAYERED As Long = &H80000
Private Const LWA_COLORKEY As Long = &H1

Private Sub Form_Load()
Dim rtn As Long
Frame1.BackColor = &HFF0000
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, &HFF0000, 0, LWA_COLORKEY '将扣去窗口中的蓝色
End Sub

而且,Frame里还可以放别的控件来显示
YanJieBing 2003-02-12
  • 打赏
  • 举报
回复
自己画一个
Public Declare Function DrawEdge Lib "user32" (ByVal hdc As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
'DrawEdge Constants
Public Const BDR_RAISEDOUTER = &H1
Public Const BDR_SUNKENOUTER = &H2
Public Const BDR_RAISEDINNER = &H4
Public Const BDR_SUNKENINNER = &H8

Public Const BDR_OUTER = &H3
Public Const BDR_INNER = &HC
Public Const BDR_RAISED = &H5
Public Const BDR_SUNKEN = &HA

Public Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
Public Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
Public Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
Public Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)

Public Const BF_LEFT = &H1
Public Const BF_TOP = &H2
Public Const BF_RIGHT = &H4
Public Const BF_BOTTOM = &H8

Public Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
Public Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
Public Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
Public Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
Public Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)

DrawEdge 窗体绘图句柄(HDC), 目标矩形, EDGE_ETCHED, BF_RECT
其中: 1) 目标矩形表示 Frame 的位置(X,Y) 和 大小(Width,Height)
2) 必须以逻辑坐标表示(即转换为像素)

祝你好运!

7,762

社区成员

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

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