Border around GET
Border around GET
Dear All,
How to make border around Get like this
I need to put this on empty Get Object and remove if filled with value..
Regards,
Frances
How to make border around Get like this
I need to put this on empty Get Object and remove if filled with value..
Regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
on Paint method
BEFORE ::DispEnd( aInfo )
RoundRect(::hDc,0,0,::nWidth-1,::nHeight-1,9,9)
THEN TRY WITH XPLOOK.RC
DEFINE DIALOG oDlg SIZE 400,200 TITLE "I am a DialogBox"
@ 2, 3 GET oGet var cTest OF oDlg NOBORDER
@ 6, 3 GET oGet var cTest OF oDlg NOBORDER
ACTIVATE DIALOG oDlg CENTERED
BUT THIS IS ONLY AN small idea ....
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
Re: Border around GET
Silvio wrote:
on Paint method
BEFORE ::DispEnd( aInfo )
RoundRect(::hDc,0,0,::nWidth-1,::nHeight-1,9,9)
THEN TRY WITH XPLOOK.RC
DEFINE DIALOG oDlg SIZE 400,200 TITLE "I am a DialogBox"
@ 2, 3 GET oGet var cTest OF oDlg NOBORDER
@ 6, 3 GET oGet var cTest OF oDlg NOBORDER
ACTIVATE DIALOG oDlg CENTERED
BUT THIS IS ONLY AN small idea ....
Dear Silvio,
Thank you for the idea.. I really appreciate it..
I wish a method not to change class.. and border is much larger where I can revert to default (or remove it) when validation is ok.
Best regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
Maybe ( with any Color and Pen-Size ) ???
REDEFINE GET oGET1 VAR cGET1 ID 250 OF oDlg UPDATE
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ) }
// -------- DRAW Get-BOX --------------------------------' )
STATIC FUNCTION DRAWBOX( nTOP, nLEFT, hDC, nLONG, nHIGHT, nPEN, nCOLOR )
LOCAL hPen := CREATEPEN( PS_SOLID, nPEN, nColor )
LOCAL hOldPen := SELECTOBJECT( hDC, hPen )
MOVETO( hDC, nTOP, nLEFT )
LINETO( hDC, nLong, 0 )
LINETO( hDC, nLONG, nHIGHT )
LINETO( hDC, 0, nHIGHT )
LINETO( hDC, 0, 0 )
SELECTOBJECT( hDC, hOldPen )
DELETEOBJECT( hPen )
RETURN NIL
================================
To move a Box to the foused Get is very easy :
Instead of Focus, You can change the Logic using Valid
Use a Startflag for the 1. focused Get :
nPos := 1
REDEFINE GET oGET1 VAR cGET1 ID 250 OF oDlg UPDATE
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| IIF( nPos = 1, ( DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet1:bGotFocus := { |hDC| nPos := 1, oGet2:Refresh(), oGet3:Refresh() }
REDEFINE GET oGET2 VAR cGET2 ID 260 OF oDlg UPDATE
oGet2:bPainted := { |hDC| IIF( nPos = 2, ( DRAWBOX( 0, 0, hDC, oGet2:nWidth-5, oGet2:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet2:bGotFocus := { |hDC| nPos := 2, oGet1:Refresh(), oGet3:Refresh() }
REDEFINE GET oGET3 VAR cGET3 ID 270 OF oDlg UPDATE
oGet3:bPainted := { |hDC| IIF( nPos = 3, ( DRAWBOX( 0, 0, hDC, oGet3:nWidth-5, oGet3:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet3:bGotFocus := { |hDC| nPos := 3, oGet1:Refresh(), oGet2:Refresh() }
============================
Using a Valid for the 1. get ( using Values for all Gets ) :
Shows a Red Box for the 3. Get, if the Value of the 3. Get > 100
REDEFINE GET oGET1 VAR nGET1 ID 250 OF oDlg UPDATE ;
VALID ( IIF( nGET3 > 100, ( nPos := 3, oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh() ), NIL ), .T. )
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| IIF( nPos = 1, ( DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet1:bGotFocus := { |hDC| nPos := 1, oGet2:Refresh(), oGet3:Refresh() }
The VALID- results :
Best Regards
Uwe
REDEFINE GET oGET1 VAR cGET1 ID 250 OF oDlg UPDATE
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ) }
// -------- DRAW Get-BOX --------------------------------' )
STATIC FUNCTION DRAWBOX( nTOP, nLEFT, hDC, nLONG, nHIGHT, nPEN, nCOLOR )
LOCAL hPen := CREATEPEN( PS_SOLID, nPEN, nColor )
LOCAL hOldPen := SELECTOBJECT( hDC, hPen )
MOVETO( hDC, nTOP, nLEFT )
LINETO( hDC, nLong, 0 )
LINETO( hDC, nLONG, nHIGHT )
LINETO( hDC, 0, nHIGHT )
LINETO( hDC, 0, 0 )
SELECTOBJECT( hDC, hOldPen )
DELETEOBJECT( hPen )
RETURN NIL
================================
To move a Box to the foused Get is very easy :
Instead of Focus, You can change the Logic using Valid
Use a Startflag for the 1. focused Get :
nPos := 1
REDEFINE GET oGET1 VAR cGET1 ID 250 OF oDlg UPDATE
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| IIF( nPos = 1, ( DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet1:bGotFocus := { |hDC| nPos := 1, oGet2:Refresh(), oGet3:Refresh() }
REDEFINE GET oGET2 VAR cGET2 ID 260 OF oDlg UPDATE
oGet2:bPainted := { |hDC| IIF( nPos = 2, ( DRAWBOX( 0, 0, hDC, oGet2:nWidth-5, oGet2:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet2:bGotFocus := { |hDC| nPos := 2, oGet1:Refresh(), oGet3:Refresh() }
REDEFINE GET oGET3 VAR cGET3 ID 270 OF oDlg UPDATE
oGet3:bPainted := { |hDC| IIF( nPos = 3, ( DRAWBOX( 0, 0, hDC, oGet3:nWidth-5, oGet3:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet3:bGotFocus := { |hDC| nPos := 3, oGet1:Refresh(), oGet2:Refresh() }
============================
Using a Valid for the 1. get ( using Values for all Gets ) :
Shows a Red Box for the 3. Get, if the Value of the 3. Get > 100
REDEFINE GET oGET1 VAR nGET1 ID 250 OF oDlg UPDATE ;
VALID ( IIF( nGET3 > 100, ( nPos := 3, oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh() ), NIL ), .T. )
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet1:bPainted := { |hDC| IIF( nPos = 1, ( DRAWBOX( 0, 0, hDC, oGet1:nWidth-5, oGet1:nHeight-5, 3, 128 ), ;
DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) ), NIL) }
oGet1:bGotFocus := { |hDC| nPos := 1, oGet2:Refresh(), oGet3:Refresh() }
The VALID- results :
Best Regards
Uwe
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
i work with FW.
If you have any questions about special functions, maybe i can help.
-
- Posts: 603
- Joined: Sun May 04, 2008 8:44 pm
Re: Border around GET
Maybe I don't understand the Question.
<around> means just a Frame to me, <Round> means a round Border ???
As well a Solution needed :
.... where I can revert to default (or remove it) when validation is ok.
Best Regards
Uwe
<around> means just a Frame to me, <Round> means a round Border ???
As well a Solution needed :
.... where I can revert to default (or remove it) when validation is ok.
Best Regards
Uwe
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
i work with FW.
If you have any questions about special functions, maybe i can help.
-
- Posts: 603
- Joined: Sun May 04, 2008 8:44 pm
Re: Border around GET
I think that this solve your problem
nVar:=0
define dialog oDlg ....
redefine Get oGet Var nVar .... ON CHANGE validate( nVar, 100, oDlg )
function validate( nVar, nMax, oDialog )
if (nVar > nMax )
DRAWBOX....
else
oDialog:Refresh()
endif
return
return
nVar:=0
define dialog oDlg ....
redefine Get oGet Var nVar .... ON CHANGE validate( nVar, 100, oDlg )
function validate( nVar, nMax, oDialog )
if (nVar > nMax )
DRAWBOX....
else
oDialog:Refresh()
endif
return
return
Re: Border around GET
Dear Guys,
Thank you Laiton!
Thank you Uwe.. Your a great help..
I will immediately adapt your idea.
My Best Regards,
Frances
Thank you Laiton!
Thank you Uwe.. Your a great help..
I will immediately adapt your idea.
My Best Regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
A complete Solution ( modified )
3 Tests You can activate / deactivate
All Types are supported : C, N, L, D
1. Show Box on Get-Focus
2. Show Box on empty Values on Init
3. Show Box with valid Values on Init
Best Regards
Uwe
3 Tests You can activate / deactivate
All Types are supported : C, N, L, D
1. Show Box on Get-Focus
2. Show Box on empty Values on Init
3. Show Box with valid Values on Init
Code: Select all
#include "fivewin.ch"
FUNCTION MAIN()
Local oDlg, hDC
Local oGet1,oGet2,oGet3,oGet4
local cVar1 := "Test"
local nVar2 := 100
local lVar3 := .F.
local dVar4 := DATE()
local oSay1, oSay2, oSay3, oSay4
local cSay1 := "Test"
local oGetFont := TFont():New("Arial", ,-14,.F.,.T. , , , ,.T. )
SET DATE GERMAN
SET CENTURY ON
DEFINE DIALOG oDlg from 0,0 to 300, 300 pixel TITLE "Testing Boxes on GET"
@ 15, 50 get oGet1 var cVar1 picture "@!" size 50, 15 of oDlg pixel FONT oGetFont
// on Lostfocus delete Box
// -------------------------------
oGet1:bLostFocus := {|hDC| GETBOX( oGet1, hDC, NIL, NIL, NIL, NIL, .F. ) }
@ 40, 50 get oGet2 var nVar2 picture "99999" size 50,15 of oDlg pixel FONT oGetFont
oGet2:bLostFocus := {|hDC| GETBOX( oGet2, hDC, NIL, NIL, NIL, NIL, .F. ) }
@ 65, 50 get oGet3 var lVar3 size 50,15 of oDlg pixel FONT oGetFont
oGet3:bLostFocus := {|hDC| GETBOX( oGet3, hDC, NIL, NIL, NIL, NIL, .F. ) }
@ 90, 50 get oGet4 var dVar4 PICTURE "##.##.####" size 50,15 of oDlg pixel FONT oGetFont
oGet4:bLostFocus := {|hDC| GETBOX( oGet4, hDC, NIL, NIL, NIL, NIL, .F. ) }
// GETBOX( oGet, hDC, Getvar, Getcond, lValid, lEmpty, lStatus )
// ----------------------------------------------------------------------------------
// oGet
// hDC
// Getvar = Value
// Getcond = Valid Value
// lValid = Valid .T. or .F.
// lEmpty = Empty .T. or .F.
// lStatus = Show Box .T. or .F.
// Show Box on Get-Focus
// GETBOX( oGet, hDC, Getvar, Getcond, lValid, lEmpty, lStatus )
// ----------------------------------------------------------------------------------
oGet1:bGotFocus := {|hDC| GETBOX( oGet1, hDC, cVar1, "", .F., .F., .T. ) }
oGet2:bGotFocus := {|hDC| GETBOX( oGet2, hDC, nVar2, 0, .F., .F., .T. ) }
oGet3:bGotFocus := {|hDC| GETBOX( oGet3, hDC, lVar3, .F., .F., .F., .T. ) }
oGet4:bGotFocus := {|hDC| GETBOX( oGet4, hDC, dVar4, DATE(), .F., .F., .T. ) }
// Draw Box for for all empty Values
// GETBOX( oGet, hDC, Getvar, Getcond, lValid, lEmpty, lStatus )
// ----------------------------------------------------------------------------------
*GETBOX( oGet1, hDC, cVar1, "", .F., .T., .T. )
*GETBOX( oGet2, hDC, nVar2, 0, .F., .T., .T. )
*GETBOX( oGet3, hDC, lVar3, .F., .F., .T., .T. )
*GETBOX( oGet4, hDC, dVar4, CTOD(" . . "), .F., .T. )
// Init Box with Valid-Test
// GETBOX( oGet, hDC, Getvar, Getcond, lValid, lEmpty, lStatus )
// -----------------------------------------------------------------------------------
*GETBOX( oGet1, hDC, cVar1, "Test", .T., .F., .T. ) // NO Box
*GETBOX( oGet2, hDC, nVar2, 200, .T., .F., .T. ) // SHOW Box
*GETBOX( oGet3, hDC, lVar3, .T., .T., .F., .T. ) // SHOW Box
*GETBOX( oGet4, hDC, dVar4, DATE(), .T., .F., .T. ) // NO Box
@ 7, 9 BUTTON "&Cancel" ACTION oDlg:End() CANCEL
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
// --------- GET with Box --------------------------
FUNCTION GETBOX( oGet, hDC, Getvar, Getcond, lValid, lEmpty, lStatus )
IF lStatus = .T.
IF ( lEmpty = .T. .and. EMPTY(Getvar) ) .or. ;
( lValid = .F. .and. lEmpty = .F. ) // Empty or Focus
// TOP, LEFT, hDC, WIDTH, HEIGHT, PEN, COLOR
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, ;
oGet:nWidth-5, oGet:nHeight-5, 5, 128 ) }
ENDIF
IF VALTYPE ( Getvar ) = "C"
// defined Valid
IF lValid = .T. .and. Getvar <> Getcond
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, ;
oGet:nWidth-5, oGet:nHeight-5, 5, 128 ) }
ENDIF
ELSEIF VALTYPE ( Getvar ) = "N"
IF lValid = .T. .and. Getvar < Getcond
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, ;
oGet:nWidth-5, oGet:nHeight-5, 5, 128 ) }
ENDIF
ELSEIF VALTYPE ( Getvar ) = "L"
IF lValid = .T. .and. Getvar <> Getcond
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, ;
oGet:nWidth-5, oGet:nHeight-5, 5, 128 ) }
ENDIF
ELSEIF VALTYPE ( Getvar ) = "D"
IF lValid = .T. .and. Getvar <> Getcond
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, ;
oGet:nWidth-5, oGet:nHeight-5, 5, 128 ) }
ENDIF
ENDIF
ELSE
oGet:bPainted := { |hDC| DRAWBOX( 0, 0, hDC, 0, 0, 0, 0) }
ENDIF
RETURN NIL
// -------- DRAW BOX --------------------------------
STATIC FUNCTION DRAWBOX( nTOP, nLEFT, hDC, nLONG, nHIGHT, nPEN, nCOLOR )
LOCAL hPen := CREATEPEN( PS_SOLID, nPEN, nColor )
LOCAL hOldPen := SELECTOBJECT( hDC, hPen )
MOVETO( hDC, nTOP, nLEFT )
LINETO( hDC, nLong, 0 )
LINETO( hDC, nLONG, nHIGHT )
LINETO( hDC, 0, nHIGHT )
LINETO( hDC, 0, 0 )
SELECTOBJECT( hDC, hOldPen )
DELETEOBJECT( hPen )
RETURN NIL
Uwe
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
i work with FW.
If you have any questions about special functions, maybe i can help.
Re: Border around GET
Dear Uwe,
Thank you so much for your kind and generous help.
Mabuhay!
Best Regards,
Frances
Thank you so much for your kind and generous help.
Mabuhay!
Best Regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
I tested still another Solution from Source
painting a BMP behind ( SAY and GET ) :
A Gradient-Solution :
A special Border :
Borders for SAY and GET calculated.
Say and Get must be placed before BMP :
@ 140,10 say oSay1 PROMPT "Row one" PIXEL FONT oGetFont
@ 138,5 BITMAP oBmp11 FILENAME "B_Blue2.bmp" ;
SIZE oSay1:nWidth + 10, oSay1:nHeight + 7 OF oDlg PIXEL ADJUST NOBORDER
@ 140, 100 GET oGet1 VAR cVar1 picture "@!" SIZE 50, 15 OF oDlg PIXEL FONT oGetFont
@ 138,95 BITMAP oBmp10 FILENAME "B_Red2.bmp" ;
SIZE oGet1:nWidth + 10, oGet1:nHeight + 7 OF oDlg PIXEL ADJUST NOBORDER
// Define the Border Start-Condition on Dialog-Init :
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oBmp10:Hide(), oBmp11:Hide() )
Hide / Show Border on Button-Action :
Best Regards
Uwe
painting a BMP behind ( SAY and GET ) :
A Gradient-Solution :
A special Border :
Borders for SAY and GET calculated.
Say and Get must be placed before BMP :
@ 140,10 say oSay1 PROMPT "Row one" PIXEL FONT oGetFont
@ 138,5 BITMAP oBmp11 FILENAME "B_Blue2.bmp" ;
SIZE oSay1:nWidth + 10, oSay1:nHeight + 7 OF oDlg PIXEL ADJUST NOBORDER
@ 140, 100 GET oGet1 VAR cVar1 picture "@!" SIZE 50, 15 OF oDlg PIXEL FONT oGetFont
@ 138,95 BITMAP oBmp10 FILENAME "B_Red2.bmp" ;
SIZE oGet1:nWidth + 10, oGet1:nHeight + 7 OF oDlg PIXEL ADJUST NOBORDER
// Define the Border Start-Condition on Dialog-Init :
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oBmp10:Hide(), oBmp11:Hide() )
Hide / Show Border on Button-Action :
Code: Select all
// SAY with any Background-Bmp
@ 135,5 BITMAP oBmp11 FILENAME "B_Blue1.bmp" SIZE 68, 24 OF oDlg PIXEL ADJUST NOBORDER
@ 140,10 say oSay1 PROMPT "Row one" PIXEL FONT oGetFont
// GET with any Background-Bmp
@ 135,95 BITMAP oBmp10 FILENAME "B_Red1.bmp" SIZE 60, 25 OF oDlg PIXEL ADJUST NOBORDER
@ 140, 100 GET oGet1 VAR cVar1 picture "@!" SIZE 50, 15 OF oDlg PIXEL FONT oGetFont
@ 175, 175 BTNBMP oBtn3 OF oDlg 2007 ;
SIZE 60 , 30 PROMPT "Border ON" ;
FONT oGetFont ;
LEFT ;
NOBORDER ;
FILENAME "Tools.bmp" ;
ACTION (oBmp10:Show, oBmp11:Show )
oBtn3:lTransparent := .T.
oBtn3:cTooltip := " Desktop 1 "
oBtn3:lBorder := .F.
@ 210, 175 BTNBMP oBtn3 OF oDlg 2007 ;
SIZE 60 , 30 PROMPT "Border OFF" ;
FONT oGetFont ;
LEFT ;
NOBORDER ;
FILENAME "Tools.bmp" ;
ACTION ( oBmp10:Hide, oBmp11:Hide )
oBtn3:lTransparent := .T.
oBtn3:cTooltip := " Desktop 1 "
oBtn3:lBorder := .F.
Uwe
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
i work with FW.
If you have any questions about special functions, maybe i can help.
Re: Border around GET
Dear Uwe,
I tried with get multiline but it wont work.. How to do this with multiline get.. any idea?
Kind Regards,
Frances
I tried with get multiline but it wont work.. How to do this with multiline get.. any idea?
Code: Select all
STATIC FUNCTION uDrawBoxOnGet( nTop, nLeft, hDC, nLong, nHeight, nPen, nColor, oGet )
LOCAL hPen,;
hOldPen
hPen := CreatePen( PS_SOLID, nPen, nColor )
hOldPen := SelectObject( hDC, hPen )
MoveTo( hDC, nTop, nLeft )
TRY
LineTo( hDC, nLong-IF(oGet:oBtn == Nil,0,22), 0 )
LineTo( hDC, nLong-IF(oGet:oBtn == Nil,0,22), nHeight )
CATCH
LineTo( hDC, nLong, 0 ) //in-case the oGet:oBtn doesn't exist
LineTo( hDC, nLong, nHeight )
END
LineTo( hDC, 0, nHeight )
LineTo( hDC, 0, 0 )
SelectObject( hDC, hOldPen )
DeleteObject( hPen )
RETURN
Kind Regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
Dear Mr. Uwe,
Any update on multiget border?
Kind Regards,
Frances
Any update on multiget border?
Kind Regards,
Frances
Kind Regards,
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Frances
Fivewin for xHarbour v18.07
xHarbour v1.2.3.x
BCC 7.3 + PellesC8 ( Resource Compiler only)
ADS 10.1 / MariaDB
Crystal Reports 8.5/9.23 DE
xMate v1.15
Re: Border around GET
Hello Frances,
I tested, moving the Border to the Dialog ( not insided the Get ) in Relation to the Multiline-get-dimension.
It seems, it could be a Solution.
STATIC PROCEDURE Draw_Box(oDlg, oGet, nColor)
// x, y , nHigh, nWidht
// Top
DrawLine( oDlg, oGet:nTop - 5, oGet:nLeft - 5 , oGet:nTop - 5, oGet:nWidth + 32, 5, nColor )
// Bottom
DrawLine( oDlg, 125, oGet:nLeft - 5 , 125, oGet:nWidth + 32, 5, nColor ) // 32 needed for Scrollbar
// Left
DrawLine( oDlg, oGet:nTop - 5, oGet:nTop - 5 , 125, oGet:nLeft - 5, 5, nColor ) // 125 = Multiget-height
// Right
DrawLine( oDlg, oGet:nTop - 5, oGet:nWidth + 32 , 125, oGet:nWidth + 32, 5, nColor )
RETURN
Best Regards
Uwe
I tested, moving the Border to the Dialog ( not insided the Get ) in Relation to the Multiline-get-dimension.
It seems, it could be a Solution.
STATIC PROCEDURE Draw_Box(oDlg, oGet, nColor)
// x, y , nHigh, nWidht
// Top
DrawLine( oDlg, oGet:nTop - 5, oGet:nLeft - 5 , oGet:nTop - 5, oGet:nWidth + 32, 5, nColor )
// Bottom
DrawLine( oDlg, 125, oGet:nLeft - 5 , 125, oGet:nWidth + 32, 5, nColor ) // 32 needed for Scrollbar
// Left
DrawLine( oDlg, oGet:nTop - 5, oGet:nTop - 5 , 125, oGet:nLeft - 5, 5, nColor ) // 125 = Multiget-height
// Right
DrawLine( oDlg, oGet:nTop - 5, oGet:nWidth + 32 , 125, oGet:nWidth + 32, 5, nColor )
RETURN
Best Regards
Uwe
Last edited by ukoenig on Fri May 13, 2011 9:38 am, edited 2 times in total.
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
i work with FW.
If you have any questions about special functions, maybe i can help.