![Image](http://www.fivetech.com.tw/fwh/ribbonbar6.jpg)
Richard
anserkk wrote:Hi,
Do anybody know about the limitations in the Trial version of CodeJock control.
Regards
Anser
Otto wrote:Hello Richard,
I would like to thank you for your work on the RIBBONBAR.
Is it possible to get the source code for the new features from you.
I still have one application in use which I made with VB.NET and CodeJock which I
want to convert to FWH.
Do you have experience how speed behaviour of a realword application is if you use RIBBONBAR insteat of FWs REBAR,TAB, BUTTONBAR, etc.
I also used BUBBLEBAR.
Do you know if it is also possible to use the BUBBLEBBAR ocx with FWH.
Thanks in advance
Otto
#include "FiveWin.ch"
#define xtpControlError 0
#define xtpControlButton 1
#define xtpControlPopup 2
#define xtpControlButtonPopup 3
#define xtpControlSplitButtonPopup 4
#define xtpControlComboBox 5
#define xtpControlEdit 6
#define xtpControlCustom 7
#define xtpControlLabel 8
#define xtpControlCheckBox 9
#define xtpControlGallery 10
#define xtpControlRadioButton 11
#define xtpImageNormal 0
#define xtpImageDisabled 1
#define xtpImageHot 2
#define xtpImageChecked 3
#define xtpImagePressed 4
function Main()
local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild, oIcons
local oGroup1, oGroup2, oButton1, oButton2, aButtons := {}
local oButton3, oButton4, oBmp1, oBmp2, oBmp3
local oMini
local oStatusBar, oToolTipContext
DEFINE WINDOW oWnd
obmp1 := TBitmap():Define( , "c:\fivewin\ver903\fwh\bitmaps\16x16\new2.bmp", oWnd )
obmp2 := TBitmap():Define( , "c:\fivewin\ver903\fwh\bitmaps\16x16\open2.bmp", oWnd )
obmp3 := TBitmap():Define( , "c:\fivewin\ver903\fwh\bitmaps\alphabmp\explorer.bmp", oWnd )
oAct := TActiveX():New( oWnd, "Codejock.CommandBarsFrame.12.1.1", 0, 0, 0, 0 )
//@ 0, 0 ACTIVEX oAct PROGID "Codejock.CommandBarsFrame.12.1.1" OF oWnd
oAct:bOnEvent = { | cEvent, aParams, pParams | RibbonBarEvent( cEvent, aParams, pParams, aButtons ) }
oAct:Do( "AttachToWindow", oWnd:hWnd )
oAct:Do( "EnableOffice2007Frame", .T. )
oAct:Do( "VisualTheme", .T. )
// ToolTipContext - Richard
oToolTipContext := TOleAuto():New( ActXPdisp( oAct:hActiveX ) )
oToolTipContext := oToolTipContext:ToolTipContext()
oToolTipContext:Style = 5 && xtpToolTipOffice2007
oToolTipContext:ShowTitleAndDescription( .T., 0 )
oToolTipContext:ShowImage( .T., 10000 )
oToolTipContext:SetMargin( 2, 2, 2, 2 )
oToolTipContext:MaxTipWidth = 180
// StatusBar-Richard
oStatusBar := TOleAuto():New( ActXPdisp( oAct:hActiveX ) )
oStatusBar:StatusBar:Visible = .T.
oStatusBar:StatusBar:AddPane( 0 )
oStatusBar:StatusBar:AddPane( 59137 )
oStatusBar:StatusBar:AddPane( 59138 )
oStatusBar:StatusBar:AddPane( 59139 )
oStatusBar:StatusBar:IdleText = "FWH support Codejock RibbonBar"
oIcons := oAct:Do( "icons" )
oIcons:AddBitmap( oBmp1:hBitmap,1,xtpImageNormal,.f. )
oIcons:AddBitmap( oBmp2:hBitmap,2,xtpImageNormal,.f. )
oIcons:AddBitmap( oBmp3:hBitmap,3,xtpImageNormal,.t. ) // 4th param, Bool to Alpha Channel Support
oIcons:LoadBitmap( "c:\fivewin\ver903\fwh\bitmaps\32x32\edit.bmp",4, xtpImageNormal)
//oAct:Hide()
oRb = oAct:Do( "AddRibbonBar", "fwh" )
// QuickAccess
oQBtn1 := oRb:QuickAccessControls:Add( xtpControlButton,1,"" )
oQBtn2 := oRb:QuickAccessControls:Add( xtpControlButton,2,"" )
oQBtn3 := oRb:QuickAccessControls:Add( xtpControlButton,3,"" )
// Sysbutton - Lailton
Sbutton:=oRb:AddSystemButton()
Sbutton:IconId( 2 )
nCmb := Sbutton:Commandbar
Controls := nCmb:Controls
Controls:Add(1,1,"Menu item 1",1)
Controls:Add(1,1,"Menu item 2",1)
oTabFiles = oRb:InsertTab( 0, "&Files" )
oTabEdit = oRb:InsertTab( 1, "&Edit" )
oTabBuild = oRb:InsertTab( 2, "&Build" )
oGroup1 = oTabFiles:Groups:AddGroup( "Test 1", 0 )
oGroup1:ShowOptionButton = .T.
oGroup2 = oTabFiles:Groups:AddGroup( "Test 2", 1 )
oButton1 = oGroup1:Add( xtpControlButton, 2, "First" )
oButton2 = oGroup1:Add( xtpControlButton, 1, "Second" )
oButton3 = oGroup2:Add( xtpControlButton, 4, NIL )
oButton4 = oGroup2:Add( xtpControlButton, 3, NIL )
oButton4:SetIconSize( 64,64 )
oButton4:Width = 70
oButton4:Height = 70
AAdd( aButtons, oButton1 )
AAdd( aButtons, oButton2 )
AADD( aButtons, oQBtn1 )
AADD( aButtons, oQBtn2 )
AADD( aButtons, oQBtn3 )
oButton1:Caption = "FiveWin power!"
oButton1:TooltipText = "Ribbonbar for FWH"
ACTIVATE WINDOW oWnd
return nil
function RibbonBarEvent( cEvent, aParams, pParams, aButtons )
do case
case cEvent == "Execute" .and. Len( aButtons ) > 0
do case
case aButtons[ 1 ]:hObj == aParams[ 1 ]
MsgInfo( "Button 1" )
case aButtons[ 2 ]:hObj == aParams[ 1 ]
MsgInfo( "Button 2" )
case aButtons[ 3 ]:hObj == aParams[ 1 ]
MsgInfo( "From Quick Access Button 1" )
case aButtons[ 4 ]:hObj == aParams[ 1 ]
MsgInfo( "From Quick Access Button 2" + CRLF + "FIVEWIN SHARING POWER" )
case aButtons[ 5 ]:hObj == aParams[ 1 ]
MsgInfo( "From Quick Access Button 3" )
endcase
endcase
return nil
oRibbonBar := oAct:Do( "AddRibbonBar", "fwh" )
//
// Enables\disables the Ribbon Office 2007 style themed window frame.
//
oRibbonBar:EnableFrameTheme()
//
// Gets\sets whether the Quick Access bar is displayed above or below the Ribbon.
//
oRibbonBar:ShowQuickAccessBelowRibbon( .T. )
MsgInfo("Before Calling the Avtivex")
oAct := TActiveX():New( oWnd, "Codejock.CommandBarsFrame.12.1.1", 0, 0, 0, 0 )
#pragma BEGINDUMP
#include <hbapi.h>
#include <windows.h>
typedef LONG ( * PDLLREGISTERSERVER ) ( void );
HB_FUNC( REGISTERSERVER )
{
HMODULE hDll = LoadLibrary( hb_parc( 1 ) );
LONG lReturn = 0;
if( hDll )
{
FARPROC pRegisterServer = GetProcAddress( hDll, "DllRegisterServer" );
if( pRegisterServer )
lReturn = ( ( PDLLREGISTERSERVER ) pRegisterServer )();
FreeLibrary( hDll );
}
hb_retnl( lReturn );
}
#pragma ENDDUMP
MsgInfo("Before Calling the Avtivex")
RegisterServer( "Codejock.CommandBars.v12.1.1.ocx" )
MsgInfo("After Calling RegisterServer") // Error occurs after displaying this message
oAct := TActiveX():New( oWnd, "Codejock.CommandBarsFrame.12.1.1", 0, 0, 0, 0 )
#include "FiveWin.ch"
#define xtpControlError 0
#define xtpControlButton 1
#define xtpControlPopup 2
#define xtpControlButtonPopup 3
#define xtpControlSplitButtonPopup 4
#define xtpControlComboBox 5
#define xtpControlEdit 6
#define xtpControlCustom 7
#define xtpControlLabel 8
#define xtpControlCheckBox 9
#define xtpControlGallery 10
#define xtpControlRadioButton 11
#define xtpImageNormal 0
#define xtpImageDisabled 1
#define xtpImageHot 2
#define xtpImageChecked 3
#define xtpImagePressed 4
function Main()
local oWnd, oAct, oRb, oTabFiles, oTabEdit, oTabBuild, oIcons
local oGroup1, oGroup2, oButton1, oButton2, aButtons := {}
local oButton3, oButton4, oBmp1, oBmp2, oBmp3
local oMini
local oStatusBar, oToolTipContext
DEFINE WINDOW oWnd
aControlHandles := InitActivex( oWnd:hWnd , "Codejock.CommandBarsFrame.12.1.1" , 0 ,0 ,0 ,0 )
nControlHandle := aControlHandles [1]
nInterfacePointer := aControlHandles [2]
nAtlDllHandle := aControlHandles [3]
oOle := CreateObject( nInterfacePointer )
oOle:AttachToWindow(oWnd:hWnd )
oOle:EnableOffice2007Frame := .t.
oOle:VisualTheme := .t.
oRb := oOle:AddRibbonBar("The Ribbon")
oRb:EnableFrameTheme()
oRb:InsertTab( 0, "&Files" )
oRb:InsertTab( 1, "&Edit" )
oRb:InsertTab( 2, "&Build" )
Sbutton:=oRb:AddSystemButton()
Sbutton:IconId( 2 )
nCmb := Sbutton:Commandbar
Controls := nCmb:Controls
Controls:Add(1,1,"Menu item 1",1)
Controls:Add(1,1,"Menu item 2",1)
oQBtn1 := oRb:QuickAccessControls:Add( xtpControlButton,1,"" )
oQBtn2 := oRb:QuickAccessControls:Add( xtpControlButton,2,"" )
oQBtn3 := oRb:QuickAccessControls:Add( xtpControlButton,3,"" )
oBar := oOle:StatusBar()
oBar:Visible := .t.
ACTIVATE WINDOW oWnd MAXIMIZED
return nil
*------------------------------------------------------------------------------*
* Low Level C Routines
*------------------------------------------------------------------------------*
#pragma BEGINDUMP
#include <windows.h>
#include <commctrl.h>
#include <hbapi.h>
#include <hbvm.h>
#include <hbstack.h>
typedef HRESULT(WINAPI *LPAtlAxGetControl)(HWND hwnd,IUnknown** unk);
typedef HRESULT(WINAPI *LPAtlAxWinInit)(void);
HB_FUNC( INITACTIVEX )
{
HMODULE hlibrary;
HWND hchild;
IUnknown *pUnk;
IDispatch *pDisp;
LPAtlAxWinInit AtlAxWinInit;
LPAtlAxGetControl AtlAxGetControl;
hlibrary = LoadLibrary( "Atl.Dll" );
AtlAxWinInit = ( LPAtlAxWinInit ) GetProcAddress( hlibrary, "AtlAxWinInit" );
AtlAxGetControl = ( LPAtlAxGetControl ) GetProcAddress( hlibrary, "AtlAxGetControl" );
AtlAxWinInit();
hchild = CreateWindowEx( 0, "AtlAxWin",hb_parc(2), WS_CHILD | WS_VISIBLE , hb_parni(3), hb_parni(4), hb_parni(5), hb_parni(6), (HWND)hb_parnl( 1 ) , 0 , 0 , 0 );
AtlAxGetControl( (HWND) hchild , &pUnk );
pUnk->lpVtbl->QueryInterface(pUnk,&IID_IDispatch,(void**)&pDisp);
hb_reta( 3 );
hb_stornl( (LONG) hchild , -1, 1 );
hb_stornl( (LONG) pDisp , -1, 2 );
hb_stornl( (LONG) hlibrary , -1, 3 );
}
HB_FUNC( EXITACTIVEX )
{
DestroyWindow ( (HWND)hb_parnl( 1 ) );
FreeLibrary ( (HMODULE)hb_parnl( 2 ) );
}
#pragma ENDDUMP
Return to FiveWin for Harbour/xHarbour
Users browsing this forum: Jimmy and 36 guests