本来想用pb115写,可又一想,pb的低版本打不开,所以用了pb8
1、创建pb8_toolbar 的工程
2、新建一个menu: m_main , 添加这些菜单
+文件
+----新建
+----打开
+编辑
3、设置“新建”和“打开”的toolbaritemtext和toolbaritemname
4、新建一个window :w_main,其中menu选上m_menu
5、在global extetrnal functions中定义这些函数,说明一下
//这两个是windows api
function long FindWindowExA( long hParent, long hChildAfter, String lpszClass, String lpszWindow ) Library "user32.dll"
function long GetWindowLongA( long hWnd, integer index) Library "user32.dll"
//这个是pb api,library "pbvm80.dll"应对应自己pb的版本
//其中参数需要研究,sybase未提供:第一个toolbar的handle、第二个字体名称、第三个字体大小、第四个 不清楚、第五个不清楚
function long FN_ToolBarSetFont(long unknown,string fontname,long fontsize,long unknown1,string str) library "pbvm80.dll"
6、在w_main - open
long ll_null, ll_hwndToolBar, ll_hwnd, ll_pToolbar
string ls_windowName
SetNull(ls_windowName)
SetNull(ll_null)
//IS_TOOLBARCLASSNAME = "FNFIXEDBAR90"
try
ll_hwnd = Handle(w_main) //ll_hwnd = Handle(this)
//这里获得pb的toolbar的对象,FNFIXEDBAR80这个对应pb的版本
ll_hwndToolBar = FindWindowEXA(ll_hwnd, ll_NULL, "FNFIXEDBAR80", ls_WindowName )
if ll_hwndToolBar > 0 then
ll_pToolbar = GetWindowLongA(ll_hwndToolBar,0)
FN_ToolBarSetFont(ll_pToolbar, "宋体",20, 0, "12345678")//
end if
catch(throwable ex)
SignalError(-1, "Call API function to set toolbar font failed.")
end try
long ll_null, ll_hwndToolBar, ll_hwnd, ll_pToolbar
string ls_windowName
SetNull(ls_windowName)
SetNull(ll_null)
资源链接
http://download.csdn.net/source/2233701
效果图