pb - toolbar - 设置字体


本来想用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

效果图

pb - toolbar - 设置字体_第1张图片

 

 

你可能感兴趣的:(String,function,null,Sybase,library,menu)