VB 我需要创建一个工具栏可以拖动到另外一个窗体,怎么实现?

lxq19851204 2009-05-12 05:02:17
江湖救急!!
...全文
240 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxq19851204 2009-05-14
  • 打赏
  • 举报
回复
象你说的那样差不多,有没有类似的程序或者代码?
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
有没有这种类似的程序?就是一个是功能设计,一个是界面设计.
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
ActiveBar我还是第一次用,不怎么熟悉.
舉杯邀明月 2009-05-13
  • 打赏
  • 举报
回复
不懂~~~~
友情Up...........
Tiger_Zhao 2009-05-13
  • 打赏
  • 举报
回复
ActiveBar 好像能够将定义直接导入导出成文件吧,源工具条导出,目标工具条导入。
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
Tiger_Zhao
比如我用ACTIVEBAR.OCX控件做了工具栏,如何把这个工具栏上的按钮拖动到目标窗体?有没有现成的程序?谢谢!
lyserver 2009-05-13
  • 打赏
  • 举报
回复
还是不明白,越来越糊涂,你的问题不是“VB 我需要创建一个工具栏可以拖动到另外一个窗体,怎么实现?”吗?,怎么又说到了桌面。你的桌面是什么?Windows的桌面?应用程序的主工作台?
根据你上述,应该是界面可以根据不同的配置呈现不同的样式,这根据拖动有什么关系?
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
你这种拖着动不了,而且窗体也是不可动的.

1;程序运行时显示的是我后台已经编辑好的桌面.
2.不同的客户需要不一样的桌面,我们可以进入后台修改,修改好的桌面就重新装载在系统运行中.

这下明白了吧?
lyserver 2009-05-13
  • 打赏
  • 举报
回复
以下代码将Form1工具栏上的一个文本框拖放到Form2工具栏上:
form1:
Option Explicit

Private Sub Form_Load()
Load Form2
Form2.Show
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Me.Text1.Locked = True
Me.Text1.DragMode = 0
Me.Text1.Drag 1
End Sub
form2:
Option Explicit
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Toolbar1_DragDrop(Source As Control, x As Single, y As Single)
Form1.Text1.Drag 2
SetParent Form1.Text1.hWnd, Me.hWnd
End Sub
lyserver 2009-05-13
  • 打赏
  • 举报
回复
哦,如果是一般控件(除Button以外的),也可以使用这种思路啊,只不过,还需要使用MoveWindow和BringWindowToTop,否则不可见。
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
这种只是纯粹的把工具栏拉过来,其实我要的是工具栏上的控件,你有没有类似这种例子?
说白了就是一个桌子管理程序()
东方之珠 2009-05-13
  • 打赏
  • 举报
回复
学习
lyserver 2009-05-13
  • 打赏
  • 举报
回复
如果是Toolbar,可以实现啊。
创建两个窗口,一个为Form1,并在其上放置一个工具栏,另一个为Form2,以下代码实现将Form1的工具栏拖动到Form2中:
Form1代码:

Option Explicit

Private Sub Form_Load()
Load Form2
Form2.Show
Me.Toolbar1.OLEDropMode = ccOLEDropManual
End Sub

Private Sub Toolbar1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Me.Toolbar1.Align = 0
Me.Toolbar1.Drag 1
End Sub

Form2代码:

Option Explicit
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Form_DragDrop(Source As Control, x As Single, y As Single)
Form1.Toolbar1.Drag 2
SetParent Form1.Toolbar1.hWnd, Me.hWnd
Form1.Toolbar1.Align = 1
Me.SetFocus
End Sub
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
自由移动和变换大小我会了,比如说我要做一个智能桌面程序,里面有很多家具,其中就桌子是一个存入数据库的.
我们只对它进行数据编辑(并且index递增),其他的控件(如门).不进行数据处理.
意思就是:在前台的桌面是不具有添加和删除功能.
我们在后台可以添加和删除不要的控件.
怎么实现?我的msn:lxq19851204@hotmail.com
Tiger_Zhao 2009-05-13
  • 打赏
  • 举报
回复
更加糊涂了。

ToolBox 中的按钮(控件)都可以拖动到窗口,是否可以自由移动和变换大小是由该控件自己决定的。
lxq19851204 2009-05-13
  • 打赏
  • 举报
回复
比如说我要从一个工具栏拖控件(按钮或者其他)到一个窗体.让这个控件在窗体中可以自由移动和变换大小.
Tiger_Zhao 2009-05-13
  • 打赏
  • 举报
回复
不明白!
aight 2009-05-12
  • 打赏
  • 举报
回复
学习,帮顶了。
Tiger_Zhao 2009-05-12
  • 打赏
  • 举报
回复
正真的移动是无法做到的,只能是在目标窗体上复制一遍工具条按钮。
被移动的工具条 DragMode 为 1
目标窗体先放置一个空白工具条
'目标窗体
Private Sub Form_DragDrop(Source As Control, x As Single, y As Single)
Dim tbr As Toolbar
Dim btn As Button
If TypeOf Source Is Toolbar Then
Set tbr = Source
Me.Toolbar1.Buttons.Clear
For Each btn In tbr.Buttons
Me.Toolbar1.Buttons.Add , btn.Key, btn.Caption, btn.Style, btn.Image
Next
tbr.Visible = False
Me.Toolbar1.Visible = True
End If
End Sub

1,451

社区成员

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

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