首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

[分享]UNICODE版的操作系统任务栏布告操作控件

2012-12-26 
[分享]UNICODE版的操作系统任务栏通告操作控件下载地址:http://download.csdn.net/source/1293723[最优解

[分享]UNICODE版的操作系统任务栏通告操作控件
下载地址:http://download.csdn.net/source/1293723
[最优解释]
感谢分享!支持一下
[其他解释]
支持一下
[其他解释]

引用:
导入方法: 

在PB9中: 
    PB9中复制一点,先将my_balloontip.dll改名为my_balloontip.pbx,只要扩展名是.pdx,文件名为何无所谓。然后用pbx2pbd90.exe将该文件生成.pbd文件,然后就可以当成.pbl文件操作了。 

在PB10或以上版本中: 
    在PB10以上的版本中很简单,先决定好要把控件放在哪个库文件中,然后在编程环境的系统树(System Tree)视窗中,右击该库,在弹出菜单中选"Import PB Extension...",导入dll或者p…


谢谢LZ这么晚还在回复!
按你的方法,确实可以导入。
[其他解释]
示例图:

[其他解释]
已经下载了,只有一个DLL 楼主最好把函数说明附上
[其他解释]
这是用PBNI编写的控件,VC6的IDE,VC2003的编译器编译,UNICODE版本。

三个函数的使用说明:

of_addtip(unsignedlong winhandle, string tip)
    添加一个tip。这是必须首先调用的函数,即:在使用其他两个函数前,必须先调用此函数。
    
    winhandle:窗口句柄,操作tip的窗口的句柄,tip的图标即用此窗口的图标。

    tip: tip的字符内容。

of_modifytip(string title, string info)
    修改tip的内容,并且动态将修改的内容立即显示。参数的含义明显。

of_deletetip()
    删除tip.

对tip图标上的鼠标操作的处理:
    原理是:图标上的所有windows消息,都会转发到参数winhandle所代表的窗口,作为该窗口的WM_USER消息,即触发该窗口的pbm_custom01事件。pbm_custom01事件的lparm参数指定tip图标的windows消息号。

    具体作法:在参数winhandle所代表的窗口的pbm_custom01事件中写代码,检测lparm的值,以判断鼠标进行了哪种操作,如:lparm为517(WM_RBUTTONUP),表示鼠标弹起。

    pbm_custom01中的示例代码:

CONSTANT long WM_MOUSEMOVE= 512
CONSTANT long WM_LBUTTONDOWN         = 513
CONSTANT long WM_LBUTTONUP= 514
CONSTANT long WM_LBUTTONDBLCLK= 515
CONSTANT long WM_RBUTTONDOWN= 516
CONSTANT long WM_RBUTTONUP= 517
CONSTANT long WM_RBUTTONDBLCLK= 518
CONSTANT long WM_USER= 1024
CONSTANT long NIN_BALLOONSHOW=(WM_USER + 2)
CONSTANT long NIN_BALLOONHIDE=(WM_USER + 3)
CONSTANT long NIN_BALLOONTIMEOUT=(WM_USER + 4)
CONSTANT long NIN_BALLOONUSERCLICK=(WM_USER + 5)

m_baselm_menu

CHOOSE CASE lparam
CASE WM_MOUSEMOVE
//
CASE WM_LBUTTONDOWN
//鼠标左键按下
CASE WM_LBUTTONUP
//鼠标左键弹起
CASE WM_LBUTTONDBLCLK
//鼠标左键双击
CASE WM_RBUTTONDOWN  //
SetFocus ( this )
lm_menu = CREATE m_base
lm_menu.PopMenu(PointerX(),PointerY())
DESTROY lm_menu
CASE WM_RBUTTONUP
//
CASE WM_RBUTTONDBLCLK
//
CASE NIN_BALLOONSHOW
//
CASE NIN_BALLOONHIDE
//
CASE NIN_BALLOONTIMEOUT
//
CASE NIN_BALLOONUSERCLICK
//
CASE ELSE
Beep(0)
END CHOOSE


鼠标右键按下图标的效果示例:


注意事项:
    经测试,本PBNI如果与其他非UNICODE版的PBNI同用时,会显示乱码。无解。

如有BUG,敬请及时告知。

------其他解决方案--------------------


再问一下,如何装载你的DLL(MY_BALLOONTIP.dll)函数呢?

好像只有使用方法,难道还要调用shell32.dll的Shell_NotifyIcon函数吗?

[其他解释]
导入方法:

在PB9中:
    PB9中复制一点,先将my_balloontip.dll改名为my_balloontip.pbx,只要扩展名是.pdx,文件名为何无所谓。然后用pbx2pbd90.exe将该文件生成.pbd文件,然后就可以当成.pbl文件操作了。

在PB10或以上版本中:
    在PB10以上的版本中很简单,先决定好要把控件放在哪个库文件中,然后在编程环境的系统树(System Tree)视窗中,右击该库,在弹出菜单中选"Import PB Extension...",导入dll或者pbx文件,即可。
[其他解释]
还是不会用啊

热点排行