用pbni实现位与位或运算
用pbni实现位与和位或运算。pb中可简单调用函数实现位与、位或运算。pb版本要求pb10.5以前(能应用PBNI的版本)。
pbni实现位与和位或
用pbni实现位与和位或运算。在pb中只需简单地调用函数,即可实现位与、位或运算。pb版本要求10.5以上(能应用PBNI的版本)。
Windows Graphics Programming Win32 Gdi And Directdraw
Windows Graphics Programming Win32 Gdi And Directdraw
百度地图Android_API_V3.1官方开发文档chm版本
依据百度官方开发文档简单制作的离线chm文档。分一般SDK和LBS SDK。其中有几项找不到页面,经查官网上即是如此。
pb中使用的tooltip控件
pbni编写的tooltip控件。
本人设计和测试的环境:WinXP, PB10.5, VC2005.
本人保留所有版权,授予所有使用者使用权(就是可以随便使用啦),唯一的要求是:不要跟本人争版权。各位自行决定使用与否,自行检测程序的健壮性和可用性,并自行承担使用可能引起的各种后果。
控件中不含任何有害代码。
控件的使用很简单:就是六个非常明显的以sf_为前缀的函数,函数的各参数都简单明瞭。
函数sf_updatetext在程序编译后好象没有效果,只在PB设计环境下有效果,目前还没找到原因和解决办法,只能用sf_addtool实现其功能。
有任何问题,可至此贴提出:
http://topic.youkuaiyun.com/u/20091209/20/b409af7d-ae0c-42c6-812a-1969194cb848.html
背景色可渐变的静态文本框 学习版
本控件是背景色可渐变的静态文本框。
本程序为本人用PBNI原创。因本控件的完整版已用于本人的商业软件中,所以只提供学习版供学习之用,请勿用于商业目的,本人保留版权。当然会汇编的话,把学习版中的限制NOP掉也可以。
本学习版相对于商业版的限制是:文本只能显示两个宽字符(WideChar)。
本控件的开发环境是:
WinXP,VC6的IDE开发环境,VS2003的头文件和库,GDI+,UNICODE版。
应用本控件的软件要求是:
1、操作系统支持GDI+(Windows98后都支持),或者有gdiplus.dll文件。
2、PB支持PBNI(PB9以上)。
本控件的函数说明:
调用函数后,要使函数效果显示出来,需将本控件或拥有控件的窗口setredraw(true)一下(多方努力,还没办法把这个缺陷解决)。
setbktext(int mode, int bands, int rs, int gs, int bs, int re, int ge, int be)
设置背景的渐变色。
mode: 背景色渐变方向,可用的值:0-水平方向渐变,1-垂直方向渐变
bands: 渐变色的区段数,可用的值:1-一段单边:即将整个背景划为一个区段。
2-二段双边对称:即将整个背景分为两个区段,两区段渐变色对称。
rs, gs, bs: 渐变色的起始颜色
re, ge, be: 渐变色的终止颜色
settext(string text)
设置文本框的文本,这个函数应该不用多说。
settextp(string asfont, int textcolorred, int textcolorgreen, int textcolorblue,
int textsize, int bold, int halign, int valign)
设置文本的字体。
以下参数中,如果字符参数置为"", 或整型参数置为0,则该参数取默认值,或者取控件的本个实例的上次设置值。
asfont: 字体,例:"楷体_GB2312"
textcolorred, textcolorgreen, textcolorblue: 字体颜色
textsize: 字体大小
bold: 是否加粗字体,可能的值:1-不加粗,2-加粗
halign, valign: 文本的水平和垂直对齐方式:1-左对齐或顶部对齐,2-居中,3-右对齐或底部对齐
关于本控件的讨论贴:
http://topic.youkuaiyun.com/u/20090805/13/cde146c0-3ea5-44c9-b35e-d6185f576eb1.html
自己编译的UNICODE版任务栏通告操作控件
PB9以上的PB版本适用。
使用只有三个函数,很简单。
这是用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中的示例代码:
//start
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_base lm_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
//end
注意事项:
经测试,本PBNI如果与其他非UNICODE版的PBNI同用时,会显示乱码。无解。
如有BUG,敬请及时告知。
本控件的讨论贴:
http://topic.youkuaiyun.com/u/20090510/20/14a57e09-02ca-44df-8f9b-e3811678360d.html
操作任务栏通告的小控件
PB版本要求9或者以上,即PB版本必须支持PBNI。
版权归原作者所有。
这是ANSI版本,要UNICODE版本,请到:http://download.youkuaiyun.com/source/1293723。
使用通告前先用of_addtips()增加(参数winhandle一般是父窗口的句柄),修改消息时用of_modifytip()(会动态显示),不用后用of_deletetip()删除,很简单。
在任务栏显示的图标,是父窗口(准确地说是winhandle指向的窗口)的图标。
对点击图标后的处理(如显示菜单),在pbm_custom01中进行,lparam中的值即是Windows消息值,如WM_LBUTTONUP,是左键点击了图标,WM_LBUTTONDBLCLK是左键双击了图标,WM_RBUTTONDOWN是右键点击了图标。
在调试时,可能会有显示字符不正常的情况,编译后正常。
代码中绝不含木马!
使PB10以前版本开发的程序界面控件具有XP风格的小文件
可以使PB10以前的版本开发的程序,以及PB开发环境本身的界面控件(除DataWindow外),保持与XP风格一致的小文件。
使用方法:将下载的文件,改名为“pbx0.exe.manifest”,其中x为使用的PB的主版本号,比如使用的是PB9,则将下载的文件改名为pb90.exe.manifest,然后将其复制至pb90.exe所在的目录下,即可使pb9的开发环境中,除DataWindow外的所有控件的风格,保持与XP一致(当然前提是使用XP系统)。
如果要使PB编译的可执行文件a.exe中的界面控件保持与XP风格一致,则将下载的文件改名为a.exe.manifest,然后将此文件复制到a.exe所在的目录,即可。
pb9以上的版本,不需要此文件。