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