Author | Topic: Windows title bar | |
---|---|---|
M.B. Baiju | Windows title bar on Thu, 03 Jan 2019 20:42:06 +0100 HI, I need to hide default application windows title bar and create my own title bar with custom icons (minimize,maximize and close) i.e:Title bar dragging function too. Anybody done this type of windows ? Can someone share code snippets ? Regards, M.B.BAIJU bar.jpg | |
Jim Lee | Re: Windows title bar on Sat, 05 Jan 2019 01:39:05 +0100 | |
M.B. Baiju | Re: Windows title bar on Sat, 05 Jan 2019 09:49:02 +0100 Hello Jim, Thanks for your reply. Can you share Codejock Skinframework ActiveX codes. I want try that. Now current screen layout of Xbase++ is obsolete style. Every customers say it look like 80's form layouts. Alaska should improve lot in visual styles. You worked with PC SOFT WINDEV, they are promising windows,mobile and web solution in sames codes and visual presentation is very good. Regards, M.B.BAIJU Jim Lee wrote in message news:37d396d9$23a53e9e$934b9@news.alaska-software.com... >hi, > >> I need to hide default application windows title bar and create >> my own title bar with custom icons (minimize,maximize and close) >> i.e:Title bar dragging function too. > >why you want to change these 3 Icon ? >they are part of visual Style depend on Theme which you use. > >i use Codejock Skinframework ActiveX for my Xbase++ App to assign own Theme like iTunes > > > >you only need to add some line in Main and it work 99% stable. >only XbpMenu() Ownerdraw make some Problem > >--- > >using XbpDialog() with o:Titlebar := .F. will show a Window without Titlebar. >you can set a XbpStatic on Top to simulate Titlebar ... but you also must add Action o:LbDown e.g. to move Window > > >so it depend what you want to do > >--- >Diese E-Mail wurde von AVG auf Viren geprüft. >http://www.avg.com | |
Jim Lee | Re: Windows title bar on Sun, 06 Jan 2019 00:11:26 +0100 > Can you share Codejock Skinframework ActiveX codes. I want try that. CLASS XCM FROM XbpDialog METHOD XCM:Create( oParent, oOwner, aPos, aSize, aPresParam, lVisible ) ... ::oSkin := XBPACTIVEXCONTROL() :new( ::drawingArea,, { 0, 0 }, { 0, 0 } ) ::oSkin:CLSID := "{16378D39-12CF-4C7D-8769-DFAAF02FD1F5}" ::oSkin:License := "Skin Framework Control Copyright (c) 2003-2009 Codejock Software" +CHR(13)+CHR(10)+ ; "PRODUCT-ID: Codejock.SkinFramework.ActiveX" + HX_VERSION() +CHR(13)+CHR(10)+ ; "VALIDATE-CODE: XXX-XXX-XXX-XXX" ::oSkin:create() ::oSkin:ApplyOptions := bOR( xtpSkinApplyMetrics, ; xtpSkinApplyFrame, ; xtpSkinApplyColors ) xtpSkinApplyMenus ) ::oSkin:AutoApplyNewThreads := .T. ::oSkin:AutoApplyNewWindows := .T. lRetErr := ::oSkin:callMethod( "LoadSkin", "Office2007.cjstyles", "" ) IF lRetErr = .T. ::oSkin:callMethod( "ApplyWindow", ::GetHWnd() ) SP_nColor1( AutomationTranslateColor( oDlg:oSkin:GetColor( COLOR_ACTIVECAPTION ), .T. ) ) SP_nColor2( AutomationTranslateColor( oDlg:oSkin:GetColor( COLOR_CAPTIONTEXT ), .T. ) ) ENDIF RETURN Self METHOD XCM:Destroy() ... ::oSkin:callMethod( "RemoveAllWindows" ) ::oSkin:Destroy() RETURN ::XbpDialog:Destroy() change Skin "on-fly" PROCEDURE SetSKin( cPath, cFile, oObj ) LOCAL cFullPath := cPath + cFile LOCAL oDlg LOCAL lRetErr IF FILE( cFullPath ) oDlg := LastDialog( oObj ) IF SP_lSkinOK() lRetErr := oDlg:oSkin:callMethod( "LoadSkin", cFullPath, "" ) IF lRetErr = .T. oDlg:oSkin:callMethod( "ApplyWindow", oDlg:getHWND() ) SP_nColor1( AutomationTranslateColor( oDlg:oSkin:GetColor( COLOR_ACTIVECAPTION ), .T. ) ) SP_nColor2( AutomationTranslateColor( oDlg:oSkin:GetColor( COLOR_CAPTIONTEXT ), .T. ) ) ENDIF oDlg:drawingArea:setColorBG( SP_nColor1() ) oDlg:configure() DXE Rebar oDlg:oRebar:SetRebarBG( SP_nColor1() ) SETAPPWINDOW( oDlg ) SETAPPFOCUS( oDlg ) ENDIF SP_SkinPath( cFullPath ) Path for Skin ENDIF RETURN --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
M.B. Baiju | Re: Windows title bar on Mon, 07 Jan 2019 07:42:59 +0100 Hello Jim, Thanks for your code sample. I will try and comeback. How reliable this product ? http://bb.donnay-software.com/Donnay/viewtopic.php?f=5&t=1308 Regards, M.B.BAIJU Jim Lee wrote in message news:10f9b7bf$732eea65$95623@news.alaska-software.com... >> Can you share Codejock Skinframework ActiveX codes. I want try that. > >CLASS XCM FROM XbpDialog > >METHOD XCM:Create( oParent, oOwner, aPos, aSize, aPresParam, lVisible ) >... > ::oSkin := XBPACTIVEXCONTROL() :new( ::drawingArea,, { 0, 0 }, { 0, 0 } ) > ::oSkin:CLSID := "{16378D39-12CF-4C7D-8769-DFAAF02FD1F5}" > ::oSkin:License := "Skin Framework Control Copyright (c) 2003-2009 >Codejock Software" +CHR(13)+CHR(10)+ ; > "PRODUCT-ID: Codejock.SkinFramework.ActiveX" + >HX_VERSION() +CHR(13)+CHR(10)+ ; > "VALIDATE-CODE: XXX-XXX-XXX-XXX" > ::oSkin:create() > > ::oSkin:ApplyOptions := bOR( xtpSkinApplyMetrics, ; > xtpSkinApplyFrame, ; > xtpSkinApplyColors ) > xtpSkinApplyMenus ) > > ::oSkin:AutoApplyNewThreads := .T. > ::oSkin:AutoApplyNewWindows := .T. > > lRetErr := ::oSkin:callMethod( "LoadSkin", "Office2007.cjstyles", "" ) > IF lRetErr = .T. > ::oSkin:callMethod( "ApplyWindow", ::GetHWnd() ) > > SP_nColor1( AutomationTranslateColor( oDlg:oSkin:GetColor( >COLOR_ACTIVECAPTION ), .T. ) ) > SP_nColor2( AutomationTranslateColor( oDlg:oSkin:GetColor( >COLOR_CAPTIONTEXT ), .T. ) ) > ENDIF >RETURN Self > >METHOD XCM:Destroy() >... > ::oSkin:callMethod( "RemoveAllWindows" ) > ::oSkin:Destroy() >RETURN ::XbpDialog:Destroy() > > > change Skin "on-fly" >PROCEDURE SetSKin( cPath, cFile, oObj ) >LOCAL cFullPath := cPath + cFile >LOCAL oDlg >LOCAL lRetErr > > IF FILE( cFullPath ) > oDlg := LastDialog( oObj ) > > IF SP_lSkinOK() > lRetErr := oDlg:oSkin:callMethod( "LoadSkin", cFullPath, "" ) > > IF lRetErr = .T. > oDlg:oSkin:callMethod( "ApplyWindow", oDlg:getHWND() ) > > SP_nColor1( AutomationTranslateColor( oDlg:oSkin:GetColor( >COLOR_ACTIVECAPTION ), .T. ) ) > SP_nColor2( AutomationTranslateColor( oDlg:oSkin:GetColor( >COLOR_CAPTIONTEXT ), .T. ) ) > ENDIF > > oDlg:drawingArea:setColorBG( SP_nColor1() ) > oDlg:configure() > > DXE Rebar > oDlg:oRebar:SetRebarBG( SP_nColor1() ) > > SETAPPWINDOW( oDlg ) > SETAPPFOCUS( oDlg ) > ENDIF > > SP_SkinPath( cFullPath ) Path for Skin > ENDIF >RETURN > > > > >--- >Diese E-Mail wurde von AVG auf Viren geprüft. >http://www.avg.com | |
Jim Lee | Re: Windows title bar on Mon, 07 Jan 2019 20:39:30 +0100 hi, > How reliable this product ? > > http://bb.donnay-software.com/Donnay/viewtopic.php?f=5&t=1308 i do not use Codejock Controls any more. i have made my own native Controls. i use only Codejock SkinFrameWork and it work for me 99%. Only Ownerdraw Menu make some Problem. --- Xbase++ ActiveX is slow but you call it only once at Start so it is no Problem. as you see it need only some line of Code so you can testdrive if it work with your Xbase++ App --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
M.B. Baiju | Re: Windows title bar on Wed, 23 Jan 2019 09:41:04 +0100 Hello Jim, I tried your code, It is not working. Can you provide one working sample to check. Current Version Xtreme SkinFramework ActiveX Control 18.6.0 Regards, M.B.BAIJU Jim Lee wrote in message news:2288054a$52127840$a2946@news.alaska-software.com... >hi, > >> How reliable this product ? >> >> http://bb.donnay-software.com/Donnay/viewtopic.php?f=5&t=1308 > >i do not use Codejock Controls any more. i have made my own native Controls. > >i use only Codejock SkinFrameWork and it work for me 99%. Only Ownerdraw >Menu make some Problem. > >--- > >Xbase++ ActiveX is slow but you call it only once at Start so it is no >Problem. >as you see it need only some line of Code so you can testdrive if it work >with your Xbase++ App > > > >--- >Diese E-Mail wurde von AVG auf Viren geprüft. >http://www.avg.com code.jpg | |
Jim Lee | Re: Windows title bar on Wed, 23 Jan 2019 23:48:38 +0100 > I tried your code, It is not working. Can you provide one working sample > to check. you have to modify thes lines for your CLSID and Version ::oSkin:CLSID := "{16378D39-12CF-4C7D-8769-DFAAF02FD1F5}" ::oSkin:License := "Skin Framework Control Copyright (c) 2003-2009 Codejock Software" +CHR(13)+CHR(10)+ ; "PRODUCT-ID: Codejock.SkinFramework.ActiveX" + HX_VERSION() +CHR(13)+CHR(10)+ ; "VALIDATE-CODE: XXX-XXX-XXX-XXX" i recommend to use Formdesigner XPPFD.EXE to write these lines into your Code --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com |