我需要一個很大的toolsbar, 因為用戶都是中老年人,太小看不清,
另一個問題是, 如何禁止toolbar的拖動
uj5u.com熱心網友回復:
1、將以下內容保存為.sru檔案,然后匯入pbl$PBExportHeader$uo_toolbarfont.sru
forward
global type uo_toolbarfont from nonvisualobject
end type
end forward
global type uo_toolbarfont from nonvisualobject autoinstantiate
end type
type prototypes
function long FindWindowExA( long hParent, long hChildAfter, String lpszClass, String lpszWindow ) Library "user32.dll"
function long GetWindowLongA( long hWnd, integer index) Library "user32.dll"
function long FN_ToolBarSetFont(long unknown,string fontname,long fontsize,long unknown1,string str) library "pbvm90.dll"
end prototypes
type variables
end variables
forward prototypes
public function integer of_gettoolbarhandle (window aw_frame)
public subroutine of_settoolbarfont (window aw_frame, string as_fontname, integer ai_fontsize, string as_extent)
end prototypes
public function integer of_gettoolbarhandle (window aw_frame);long ll_NULL, ll_hwndToolBar
string ls_ClassName, ls_WindowName
Environment lEnv
IF IsValid( aw_Frame ) AND (GetEnvironment(lEnv) = 1) THEN
CHOOSE CASE lEnv.PBMajorRevision
CASE 6
ls_ClassName = "FNFIXEDBAR60"
case 7
ls_ClassName = "FNFIXEDBAR70"
case 8
ls_ClassName = "FNFIXEDBAR80"
case 9
ls_ClassName = "FNFIXEDBAR90"
case 11
ls_ClassName = "FNFIXEDBAR110"
END CHOOSE
SetNull(ls_WindowName)
SetNull(ll_NULL)
ll_hwndToolBar = FindWindowEXA( Handle(aw_Frame), ll_NULL, ls_ClassName, ls_WindowName )
END IF
RETURN ll_hwndToolBar
end function
public subroutine of_settoolbarfont (window aw_frame, string as_fontname, integer ai_fontsize, string as_extent);long ll_hwndToolBar,ll_unknown
ll_hwndToolBar = of_GetToolBarHandle( aw_frame)
if ll_hwndToolBar>0 then
ll_unknown = GetWindowLongA(ll_hwndToolBar,0)
//ll_unknown = GetWindowLongA(ll_hwndToolBar,-21)//PB11用
FN_ToolBarSetFont(ll_unknown,as_fontname,ai_fontsize,0,as_extent)
end if
end subroutine
on uo_toolbarfont.create
call super::create
TriggerEvent( this, "constructor" )
end on
on uo_toolbarfont.destroy
TriggerEvent( this, "destructor" )
call super::destroy
end on
event constructor;/*
在MDI視窗的視窗變數宣告中宣告
//大字體工具列
uo_toolbarfont iuo_toolbarfont
在open事件中呼叫:
iuo_toolbarfont.of_settoolbarfont (this,'宋體',-12,"1234567")
*/
end event
在mdi主視窗的open事件中,寫
uo_toolbarfont luo_toolbarfont
luo_toolbarfont.of_settoolbarfont( this, '宋體', -36, '中1')
uj5u.com熱心網友回復:
2、在application物件的屬性頁面的Toolbar標簽頁中,將ToolbarUserControl選項取消勾選uj5u.com熱心網友回復:
uo_toolbarfont luo_toolbarfontluo_toolbarfont.of_settoolbarfont( this, 'Arial', -36, '11')
運行時出錯, 我用的是pb6.5 . 這個方法只支持pb9 嗎?
Powerbuilder Application execution Error(R0014)
Application terminated
Error: error opening Dll library pbvm90.dll for external function at lin6 in function of _settoolbalfont of object uo_toolbarfont.
uj5u.com熱心網友回復:
pbvm90.dll改成pb6.5對應的dll
是pbvm65.dll或者pbvm60.dll
uj5u.com熱心網友回復:
應該是這個意思吧,附DEMO參考一下:http://www.sybasebbs.com/forum.php?mod=viewthread&tid=4080&extra=page%3D3
uj5u.com熱心網友回復:
幫頂···uj5u.com熱心網友回復:
改成 pbvm60.dll 就沒有問題, 但我并沒有得到一個大的toolsbar.我想要一個大的toolsbar, 大圖示的。這個方法可以嗎?怎么做呢?
uj5u.com熱心網友回復:
up...uj5u.com熱心網友回復:
自己做一下uj5u.com熱心網友回復:
自己做一個吧,用poup視窗,自己做一個要么自己用類做一個
細心點,也不難
uj5u.com熱心網友回復:
能大概說一下怎么做嗎? 沒有思路啊uj5u.com熱心網友回復:
MARK一下轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/46567.html
標籤:控件與界面
下一篇:誰能發我個PB15的下載鏈接
