在pb中如何获得剪贴板中的内容啊??

zju1060 2006-06-11 10:59:35
写个例子程序吧,我做的总是有错,读不出来!谢谢了!
...全文
1319 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxichen 2006-06-14
  • 打赏
  • 举报
回复
如果没有格式信息就简单了 lzp_lrp(lzp)说过了
lovelihp 2006-06-13
  • 打赏
  • 举报
回复
MARK
WorldMobile 2006-06-13
  • 打赏
  • 举报
回复
如果只是文本的话,你用这个函数即可

Clipboard() 或者Paste()
eastpond 2006-06-13
  • 打赏
  • 举报
回复
有4星的高手,学习一下
kojiang 2006-06-13
  • 打赏
  • 举报
回复
学习
lzheng2001 2006-06-11
  • 打赏
  • 举报
回复
如果你一定要用API来取,也可以参考以下例子,自己修改一下就可以用了.

1.将bmp文件,复制到剪切板:
声明API
FUNCTION ulong LoadImage(ulong hInst,string lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY "user32.dll" ALIAS FOR "LoadImageA"
FUNCTION ulong CloseClipboard() LIBRARY "user32.dll"
FUNCTION ulong OpenClipboard(ulong hwnd) LIBRARY "user32.dll"
FUNCTION ulong EmptyClipboard() LIBRARY "user32.dll"
FUNCTION ulong SetClipboardData(ulong wFormat,Ulong hMem) LIBRARY "user32.dll"
FUNCTION ulong RegisterClipboardFormat(string lpString) LIBRARY "user32.dll" ALIAS FOR "RegisterClipboardFormatA"

//以下是代码
Constant int LR_LOADFROMFILE = 16

Constant int IMAGE_BITMAP = 0
Constant int IMAGE_ICON = 1
Constant int IMAGE_CURSOR = 2
Constant int IMAGE_ENHMETAFILE = 3

Constant int CF_BITMAP = 2
Constant int CF_UNICODETEXT = 13
Constant int CF_TEXT = 1


ulong hBitmap
int Null,Format

setnull(null)

hBitmap = LoadImage(null, "c:\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)

If hBitmap = 0 Then
Messagebox ("错误","载入图片错误!")
Return
End If

OpenClipboard (null)
EmptyClipboard()
SetClipboardData (CF_BITMAP, hBitmap)
CloseClipboard()

2, 如何将BLOB数据读入剪切板
可以将blob读入剪切板,但系统不会识别出blob的内容,如果你想把图片读入blob,再把blob放入剪切板,
然后粘贴图片. 这样做是不行的,因为系统不会把blob数据认为是一张图片! 至于它会把剪切板中什么格式的数据才会认为是图片,或rtf信息,我也不清楚,有空再研究一下
================================
新发现: API常量中CF_开头的有很多, 它包含了很多剪切板的格式!




=================
取内容

方法2:直接取剪切板的数据
hGlobal = GetClipBoardData(CF_TEXT) //CF_TEXT = 1,CF_METAFILEPICT = 3, ...
lp = GlobalLock(hGlobal) //返回long地址
blobtemp = space(GlobalSize(lp))
blbResult = copymenory(ref BlobTemp,lp)
GlobalUnlock(hGlobal)

blbResult 就是要取的内容,GetClipBoardData中的参数决定你读取出来的数据的格式是文本类型,还是其它类型.
lzheng2001 2006-06-11
  • 打赏
  • 举报
回复
一般可以通过在窗口上放一个richtexeedit控件,然后用rte_1.paste() 或者rte_1.PasteRTF
来取得内容.
天大19秋《计算机应用基础》在线作业一  天大19秋《计算机应用基础》在线作业一全文共6页,当前为第1页。 《计算机应用基础》在线作业一 试卷总分:100 得分:0 一、 单选题 (共 20 道试题,共 100 分) 1.1TB的存储容量相当于( ) A.1024KB B.1024MB C.1024GB D.1024PB 2.在控制面板使用"程序"的作用是( ) A.安装或卸载程序 B.安装未知的设备 C.设置字体字号 D.设置显示属性 3.在Windows快速获得处理器型号、内存容量等信息的前两步操作是( ) A.右击任务栏的空白区选择"属性"菜单项 B.右击"计算机"图标选择"属性"菜单项 C.右击"开始"按钮后选择"属性"菜单项 D.右击"桌面"空白区选择"属性"菜单项 .计算机一次能处理数据的最大位数称为该机器的( ) A.字长 B.字节 C.计算精度 D.总线宽度 7.在下列字符ASCII码值最小的是( ) A.Z B.% C.a D.A 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第2页。 8."64位微型计算机"的64所指的是( ) A.微机型号 B.存储性能 C.机器字长 D.计算精度 9.系统总线是微机的主要部件之一,目前在个人计算机基本都使用( ) A.PCI总线 B.ISA总线 C.IDE总线 D.USB总线 10.Windows的"计算机"图标( ) A.可以设置放到"桌面"上 B.不可能出现在"桌面"上 C.通过单击将其显示在"桌面"上 D.系统安装后自动放到"桌面"上 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第3页。 11.世界上第一台电子数字计算机采用的电子元件是( ) A.晶体管 B.小规模集成电路 C.电子管 D.大规模集成电路 12.将整个屏幕画面复制到剪贴板应使用的"键"是( ) A.Print Screen B.Ctrl+Space C.Alt+ Print Screen D.Ctrl+Print Screen 13.在任务栏上不可能出现的内容是( ) A.文档窗口的图标 B.语言栏对应图标 C.对话框窗口的图标 D.应用程序窗口图标 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第4页。.下列数最大的是( ) A.56O B.80H C.123D D.111B 17.在Windows使用Ait+Tab键的作用是( ) A.关闭当前应用程序 B.打开"开始"菜单 C.打开应用程序的控制菜单 D.在应用程序之间相互切换 18.将文件移至剪贴板的快捷键是( ) A.Ctrl+S B.Ctrl+X C.Ctrl+V D.Ctrl+C 19.输出速度最快的打印机是( ) 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第5页。A.点阵打印机 B.激光打印机 C.喷墨打印机 D.热敏打印机 奥鹏在线离线论文作业 20.查找文件时可以使用的通配符*和?的含义是( ) A.?可表示多种字符,*表示任意个相同字符 B.?可表示一个字符,*表示任意个相同字符 C.*表示任意多个字符,?表示任意一个字符 D.?表示任意多个字符,*表示任意一个字符 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第1页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第2页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第3页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第4页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第5页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第6页。 天大19秋《计算机应用基础》在线作业一全文共6页,当前为第6页。 天大19秋《计算机应用基础》在线作业一 1 / 1

680

社区成员

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

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