I need the new object-position afer move ( NO resize ) from inside a dialog.
I want to move the SAYS, to find the best textcolors in relation to the gradient.
The return-values are wrong. My test :
oSay1:bMoved := {|| ( nTxtTop1 := oSay1:nTop, nTxtLeft1 := oSay1:nLeft ) }
oSay2:bMoved := {|| ( nTxtTop2 := oSay2:nTop, nTxtLeft2 := oSay1:nLef2 ) }
oSay3:bMoved := {|| ( nTxtTop3 := oSay3:nTop, nTxtLeft3 := oSay1:nLef3 ) }
I only moved to LEFT with the same TOP
A left mouseclick shows the values.
The Top / Left of the 3 says are STATIC
The new values after MOVE I have to save.
nTxtTop1, nTxtLeft1
nTxtTop2, nTxtLeft2
nTxtTop3, nTxtLeft3
- Code: Select all Expand view
FUNCTION SHOW_DLG( oWnd )
LOCAL oBtn30, nRadio1 := 1, lCheck1 := .T.
LOCAL oSay1, oSay2, oSay3, oRadio1, oCheck1
LOCAL oSlide, oSlide1, oSlide2, oSlide3
LOCAL nVar1 := 150, nVar2 := 100, nVar3 := 150
lGDialog := .T.
DEFINE DIALOG oGDialog FROM nDlgTop, nDlgLeft TO nDlgHeight, nDlgWidth OF oWnd PIXEL ;
TITLE "Dialog GRADIENT"
oGDialog:bLClicked := {|| MsgAlert( ;
"Dialog Top / Left / Width / Height : " + ALLTRIM(STR(oGDialog:nTop)) + " / " + ALLTRIM(STR(oGDialog:nLeft)) + " / " + ;
ALLTRIM(STR(oGDialog:nWidth)) + " / " + ALLTRIM(STR(oGDialog:nHeight)) + CRLF + ;
"Top / Left 1 : " + ALLTRIM(STR(nTxtTop1)) + " / " + ALLTRIM(STR(nTxtLeft1)) + CRLF + ;
"Top / Left 2 : " + ALLTRIM(STR(nTxtTop2)) + " / " + ALLTRIM(STR(nTxtLeft2)) + CRLF + ;
"Top / Left 3 : " + ALLTRIM(STR(nTxtTop3)) + " / " + ALLTRIM(STR(nTxtLeft3)), "TextPosition" ) }
@ 10, 5 RADIO oRadio1 VAR nRadio1 OF oGDialog PIXEL ;
ITEMS "Option &1", "Option &2" _3D SIZE 70, 15 COLOR nWColorT1 ; // 16443068 ;
HELPID 100, 101 ;
ON CHANGE MsgBeep()
oRadio1:SetFont( oFont )
AEval( oRadio1:aItems, { | oRad | oRad:lTransparent := .T. } )
@ 40, 10 CHECKBOX oCheck1 VAR lCheck1 COLOR nWColorT1 PIXEL ;
PROMPT "&ClickMe" OF oGDialog SIZE 80, 15 ;
ON CHANGE oCheck1:SetText( "New Text" )
oCheck1:lTransparent := .T.
oCheck1:SetFont( oFont )
// ---------------------------
@ nTxtTop1, nTxtLeft1 SAY oSay1 PROMPT "Transparent Say" + CRLF + ;
"of Gradient 1" ;
OF oGDialog SIZE 90, 30 FONT oFont2 PIXEL
oSay1:bMoved := {|| ( nTxtTop1 := oSay1:nTop, nTxtLeft1 := oSay1:nLeft ) }
oSay1:SetColor( nWColorT1, )
oSay1:lTransparent := .T.
oSay1:lDrag := .T.
@ nTxtTop2, nTxtLeft2 SAY oSay2 PROMPT "Transparent Say" + CRLF + ;
"of Gradient 2" ;
OF oGDialog SIZE 90, 30 FONT oFont2 PIXEL
oSay2:bMoved := {|| ( nTxtTop2 := oSay2:nTop, nTxtLeft2 := oSay2:nLeft ) }
oSay2:SetColor( nWColorT2, )
oSay2:lTransparent := .T.
oSay2:lDrag := .T.
@ nTxtTop3, nTxtLeft3 SAY oSay3 PROMPT "Transparent Say" + CRLF + ;
"of Bottom Color" ;
OF oGDialog SIZE 90, 30 FONT oFont2 PIXEL
oSay3:bMoved := {|| ( nTxtTop3 := oSay3:nTop, nTxtLeft3 := oSay3:nLeft ) }
oSay3:SetColor( nWColorT3, )
oSay3:lTransparent := .T.
oSay3:lDrag := .T.
ACTIVATE DIALOG oGDialog NOWAIT ;
ON INIT ( DisableX(oGDialog, .T.), ;
GRADBRUSH( oGDialog, nTop1, nBottom1, lWDirect1, ; // Top, Bottom 1
nTop2, nBottom2, lWDirect2, ; // Top, Bottom 2
nTop3, nBottom3 ) ) // Top, Bottom 3
RETURN NIL
Best Regards
Uwe