Jump to content
Fivewin Brasil

Get 3D


evertonlb

Recommended Posts

Boa noite pessoal.. é o seguinte, estou usando o FW 6.12 e estou desenhando os forms com o VRMM do Ricardo Moura Marques, tudo @say. O que acontece é que so meus gets estão planos, um simples quadro branco com uma borda de 1 pixel preta. Gostaria de dar a sensação de profundidade mas não sei como fazer. Dei uma olhada na classe TGet e na TControl, pra ver se achava alguma coisa que me desse uma luz.. 'ja fiz uma pesquisa no forum, mas só encontrei instrucoes pra quem usa Recursos.. que não é meu caso.. Se alguem tem uma informação. to aceitando!

Abraços

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS

Link to comment
Share on other sites

Boa noite pessoal.. é o seguinte, estou usando o FW 6.12 e estou desenhando os forms com o VRMM do Ricardo Moura Marques, tudo @say. O que acontece é que so meus gets estão planos, um simples quadro branco com uma borda de 1 pixel preta. Gostaria de dar a sensação de profundidade mas não sei como fazer. Dei uma olhada na classe TGet e na TControl, pra ver se achava alguma coisa que me desse uma luz.. 'ja fiz uma pesquisa no forum, mas só encontrei instrucoes pra quem usa Recursos.. que não é meu caso.. Se alguem tem uma informação. to aceitando!

Abraços

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS

Link to comment
Share on other sites


***************************************************

* Multi SAY/GET testing in 32 bit Xbase++ mode....*

* Jon Berg 10-8-99 *

***************************************************

#include "FiveWin.ch"

*********************

static oWnd

//----------------------------------------------------------------------------//

function Main()

DEFINE WINDOW oWnd FROM 1, 1 TO 30, 70 ;

TITLE "Testing Says/Gets and Get Pictures and Foreground/Background Colors" ;

MENU BuildMenu()

SET MESSAGE OF oWnd TO "FiveWin++"

ACTIVATE WINDOW oWnd MAXIMIZED

return nil

//----------------------------------------------------------------------------//

function BuildMenu()

local oMenu

MENU oMenu

MENUITEM "&Say/Get Testing"

MENU

MENUITEM "&Build Multi GET Dialog1 with PICTs " ACTION (BldDlg1())

MENUITEM "Item &2" ACTION MsgInfo("Test Menu Item2")

MENUITEM "Item &3" ACTION MsgInfo("Test Menu Item3")

SEPARATOR

MENUITEM "Exit" ACTION oWnd:End()

ENDMENU

ENDMENU

return oMenu

//----------------------------------------------------------------------------//

function BldDlg1()

local oDlg, oArial, oFont, oMemo

local cName1 := "ONE "

local cName2 := "two "

local cName3 := "3 "

local cName4 := "4 "

local cName5 := "5 "

local cName6 := "54321 "

local cName7 := "567890 "

local lRESERVE := .F.

local cPROV_TYPE:= SPACE(20)

local cPHONE := SPACE(18)

local dCERT_DATE:= CTOD(' / / ')

local nPROC_DAYS:= 9876

local cTEXT := "Use Tab or Shift Tab to move to next get."+SPACE(256)

SET EPOCH TO 1920

SET CENTURY ON

DEFINE DIALOG oDlg FROM 1, 1 TO 600, 800 ;

TITLE "Hello Gets!" ;

STYLE nOr(WS_POPUP, ;

WS_VISIBLE, ;

WS_CAPTION, ;

WS_THICKFRAME, ;

WS_SYSMENU, ;

WS_MINIMIZEBOX, ;

WS_MAXIMIZEBOX) ;

PIXEL && Defined by Pixels

* DEFINE FONT oFont NAME "Courier" SIZE 12, -10 WEIGHT 45

DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10 && Use a Nonproportional font

SET FONT OF oDlg TO oFont && so characters line up in Says

@ 00, 03 SAY "Showing how to do SAY/GETs from source code. No DLLs or RC files. " OF oDlg COLORS CLR_BLACK,CLR_YELLOW BORDER SIZE 300,10

@ 01, 03 SAY "Navigation Keys to traverse gets are Ret, Arrows, Tab and Shift Tab....ESC to close this Dialog" OF oDlg COLORS CLR_WHITE,CLR_BLUE BORDER SIZE 380,10

@ 02, 03 SAY "Testing Say with different colors and a border. " OF oDlg COLORS CLR_HRED ,CLR_WHITE BORDER SIZE 200,10

@ 03, 03 SAY "Testing Say with different colors and no border." OF oDlg COLORS CLR_HBLUE ,CLR_WHITE SIZE 200,10

@ 05, 19 SAY "Field length" OF oDlg SIZE 65,10 && Use normal colors

@ 06, 19 SAY " | " OF oDlg SIZE 65,10

@ 07, 03 SAY "1 Chr No PICT 13" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 08, 03 SAY "2 Chr No PICT 11" OF oDlg COLORS CLR_BLUE ,CLR_HCYAN BORDER SIZE 195,10

@ 09, 03 SAY "3 Chr No PICT 9" OF oDlg COLORS CLR_RED ,CLR_HCYAN BORDER SIZE 195,10

@ 10, 03 SAY "4 Chr PICT 'NNNNNNNN' 8" OF oDlg COLORS CLR_HRED ,CLR_HCYAN BORDER SIZE 195,10

@ 11, 03 SAY "5 Chr PICT 'AAAAAAAAA' 9" OF oDlg COLORS CLR_HGREEN,CLR_HCYAN BORDER SIZE 195,10

@ 12, 03 SAY "6 Chr PICT '9999999999' 13" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 13, 03 SAY "7 Chr PICT '@K@!@S10' 24" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 14, 03 SAY " Logic 'T/F or Y/N' 1" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 15, 03 SAY " Chr PICT '@S5'and !EMPTY() 20" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 16, 03 SAY " Chr PICT '(999)A99-9!99-9999' 18" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 17, 03 SAY " Date !> comp date or empty 8" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 16.8, 35 SAY "Set Century is on." OF oDlg SIZE 195,10

@ 17.3, 35 SAY "Set Epoch is set to 1919." OF oDlg SIZE 195,10

@ 18, 03 SAY " Num PICT '99' !>10 10" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

@ 19, 03 SAY " Memo No PICT 256" OF oDlg COLORS CLR_BLACK ,CLR_HCYAN BORDER SIZE 195,10

// @ 07, 28 GET cName1 OF oDlg COLORS "B/BG" SIZE 20,10

// @ 08, 28 GET cName2 OF oDlg COLORS CLR_BLACK,CLR_HCYAN

// @ 09, 28 GET cName3 OF oDlg COLORS CLR_BLACK,CLR_YELLOW

// @ 10, 28 GET cName4 OF oDlg PICTURE "NNNNNNNN"

// @ 11, 28 GET cName5 OF oDlg PICTURE "AAAAAAAAA"

// @ 12, 28 GET cName6 OF oDlg PICTURE "9999999999"

// @ 13, 28 GET cName7 OF oDlg PICTURE "@K@!@S10"

// @ 14, 28 GET lRESERVE OF oDlg PICTURE "Y" MESSAGE "Please type in a Y or N "

// @ 15, 28 GET cPROV_TYPE OF oDlg PICTURE "@S5" VALID IF(EMPTY(cPROV_TYPE),(MSGINFO("You have to enter at least 1 Character"),.F.),.T.)

// @ 16, 28 GET cPHONE OF oDlg PICTURE "(999)A99-9!99-9999"

* @ 17, 28 GET dCERT_DATE OF oDlg SIZE 36,10

* @ 17, 28 GET dCERT_DATE OF oDlg SIZE 36,10 NO MODIFY

* @ 17, 28 GET dCERT_DATE OF oDlg SIZE 36,10 VALID IF(dCERT_DATE>DATE(),(MSGINFO("GREATER!"),.F.),.T.) MESSAGE "Please type in the Certification Date"

// @ 17, 28 GET dCERT_DATE OF oDlg SIZE 50,10 VALID (IF(dCERT_DATE>DATE(),(MSGINFO("Certification Date must not be greater than Computer Date or blank!"),.F.),.T.)) MESSAGE "Please type in the Certification Date"

* @ 17, 28 GET dCERT_DATE OF oDlg SIZE 36,10 VALID (IF(dCERT_DATE>DATE().AND.!EMPTY(dCERT_DATE),(MSGINFO("Certification Date must not be greater than Computer Date or blank!"),.F.),.T.)) MESSAGE "Please type in the Certification Date"

// @ 18, 28 GET nPROC_DAYS OF oDlg PICTURE "99" VALID (IF(nPROC_DAYS>10,(MSGINFO("Processing Days Must be less that 11 or Empty"),.F.),.T.)) MESSAGE "Please type in the Number of days it took to process"

* @ 18, 28 GET nPROC_DAYS OF oDlg PICTURE "999,999.99" VALID (IF(nPROC_DAYS>10,(MSGINFO("Processing Days Must be less than 11"),.F.),.T.)) MESSAGE "Please type in the Number of days it took to process"

* @ 18, 28 GET nPROC_DAYS OF oDlg PICTURE "@K 999"

* @ 18, 28 GET nPROC_DAYS OF oDlg PICTURE "999,999.99" SIZE 50,10

* @ 18, 28 GET nPROC_DAYS OF oDlg PICTURE "99999999"

@ 19, 28 GET cText MEMO OF oDlg SIZE 140,46

ACTIVATE DIALOG oDlg CENTERED ;

ON LEFT CLICK nMsgBox( "Incredible!" )

return nil

************************

#ifdef __XPP__

* 32 bits Alaska XPP source code here...

procedure AppSys

return

#else

* 16 bits Clipper source code here...

#endif

id=code>id=code>

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Boa tarde..

Nem pra imagens você usa recursos ?? as vezes a gente "esquece" de tirar o manifest

de um simples arquivos de icones e acontece isso.. veja tb.

se não tem o manifest em sua pasta com o mesmo nome do EXE,

pelo que sei o FWH tem como padrão os gets 3D, pelo menos até a 9.04, não sei dai pra frente, e

já que tá usando a 6.12 deveria estar tudo 3D.

Teve um tempo que a gente tinha que por "SET _3DLOOK"

no prg principal também, mas não me lembro bem a partir de qual versão


ProceDure Main()

<...>

Set Date...

Set Echo...

Set Epoc...

SET _3DLOOK ON

id=code>id=code>

Abraços..

Luiz Arruda

Corumbá-MS

ico.corumba@gmail.com |

http://www.facebook.com/profile.php?id=100000933378029

euchapeu.png

FiveWin 9.04

xHarbour

PellesC

Bcc

Editado por - ico on 19/04/2012 15:10:06

Link to comment
Share on other sites

Poxa.. tentei tudo que foi sugerido, mas infelizmente nada.

Não uso recursos em nada..

se alguem tem mais sugestoes, pode mandar!

O bom é que isso não é essencial, mas sabe como são os clientes...

Obrigado a todos...

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS

Link to comment
Share on other sites

Sugiro fazer um teste.prg em uma pasta

separada sem usar o VRMM, só com comandos

nativos do FWH e ver o que acontece, já que

o padrão do FWH são Gets 3D e vc está usando XP,

deve ter alguma coisa em seus sistema causando isso.

Ai vai ficar facim faci de resolver..

Luiz Arruda

Corumbá-MS

ico.corumba@gmail.com |

http://www.facebook.com/profile.php?id=100000933378029

euchapeu.png

FiveWin 9.04

xHarbour

PellesC

Bcc

Editado por - ico on 20/04/2012 08:54:22

Link to comment
Share on other sites

citação:

Jão, Take it easy, man.

Por isso que eu tenho medo de perguntar as coisas aqui.. vai que vc me xinga também.


id=quote>id=quote>

KKKKKKKKKKKKKKKKKKK, Como assim??

Não ximGAY ninguém... O Luiz Arruda é um TONTO mesmo.

KKKKKKKKKKKKKKKKKKKKKKK

Abs,

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Tonto eu vou ficar daqui a pouco \o/

Veja bem.. se SET _3DLOOK ON é automático ou não,

não custa tentar, já que o get 3D também é padrão no FWH e

o do Everton não está atribuindo isso né Kapi ??..

Anaid=size4>, liga não, pode perguntar a

vontade, quem conhece o João sabe que ela já tá 1/2 gagá e

ninguém liga muito para o que ele fala não, icon_smile_big.gif

icon_smile_big.gif

Luiz Arruda

Corumbá-MS

ico.corumba@gmail.com |

http://www.facebook.com/profile.php?id=100000933378029

euchapeu.png

FiveWin 9.04

xHarbour

PellesC

Bcc

Editado por - ico on 20/04/2012 16:47:53

Link to comment
Share on other sites

citação:

Tonto eu vou ficar daqui a pouco \o/

Veja bem.. se SET _3DLOOK ON é automático ou não,

não custa tentar, já que o get 3D também é padrão no FWH e

o do Everton não está atribuindo isso né Kapi ??..

Anaid=size4>, liga não, pode perguntar a

vontade, quem conhece o João sabe que ela já tá 1/2 gagá e

ninguém liga muito para o que ele fala não, icon_smile_big.gif

icon_smile_big.gif

Luiz Arruda

Corumbá-MS

ico.corumba@gmail.com |

http://www.facebook.com/profile.php?id=100000933378029

euchapeu.png

FiveWin 9.04

xHarbour

PellesC

Bcc

Editado por - ico on 20/04/2012 16:47:53


id=quote>id=quote>

KKKKKKKKKKKKKKK

Gagá tá o senhor...

Ana, brincadeirinha...

abs

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Bem.. cheguei a uma conclusão.. é algo no codigo gerado pelo VRMM.. Infelizmente! Peguei um PRG do SAMPLES e compilei junto com um sistema que ja roda e funcionou. Mas colocando o mesmo código do SAMPLES "dentro" de um PRG que ja esta funcionando e que foi gerado pelo VRMM, não funciona o 3D!

Obrigado a todos.. inclusive aos que foram xingados e expostos por causa da minha duvida! hhehehehehee

Valeu brothers

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS

Link to comment
Share on other sites

citação:

Bem.. cheguei a uma conclusão.. é algo no codigo gerado pelo VRMM.. Infelizmente! Peguei um PRG do SAMPLES e compilei junto com um sistema que ja roda e funcionou. Mas colocando o mesmo código do SAMPLES "dentro" de um PRG que ja esta funcionando e que foi gerado pelo VRMM, não funciona o 3D!

Obrigado a todos.. inclusive aos que foram xingados e expostos por causa da minha duvida! hhehehehehee

Valeu brothers

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS


id=quote>id=quote>

Opa.. se tem algo no código gerado pela VRMM, já é um passo, e será que não tem como descobrir ???

Eu to usando somente codigo nativo a anos, mas se quiser zipa e me manda a pasta que vc criou pra descobrir que voi o VRMM que tento dar uma olhadinha... mas sem compromisso hein!... icon_smile_big.gif

Abrços..

Luiz Arruda

Corumbá-MS

ico.corumba@gmail.com |

http://www.facebook.com/profile.php?id=100000933378029

euchapeu.png

FiveWin 9.04

xHarbour

PellesC

Bcc

Link to comment
Share on other sites

citação:

Everton,

Você experimente o RVisual?

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=20643

Ricardo Marques


id=quote>id=quote>

Ricardo, testei e não entendi nada do RVISUAL.

Além de Ter BUGs, clickey no X da janela, ele explode.

Em qual linguangem voce desenvolveu este "Treco" :

Não tem HELP, não tem exemplos, não tem nada. kkkkkkkkk

Achei meio complicado de se usar...

Para criar um dialogo, é muito dificil e xato... Não consegui criar nada... Que dureza...

Abs,

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Bom dia Ricardo. Tentei gerar um PRG pelo RVisual, mas deu na mesma coisa.. o Get fica com uma moldurinha preta de 1 pixel, e não da sensação de profundidade. Eu percebi que no cabeçalho dos PRG's tinha o Include do VRMM.CH, tirei fora, tambem eu tinha colocado no Script de compilação ( MyMake) a inclusão do VRMM.LIB, tambem saquei fora, mas infelizmente continua o get chapado!

Agora.. percebi que se eu pegar uma canetinha cinza e fizer um risquinho nos limites superiores do get fica em 3D, acho que a saída é dar uma caixa de canetinha preta pro cliente! hahahahhahha

Ico.. vou te enviar a pasta! Sim.. sem compromisso! rsrsrsr

Everton - Chapecó-SC

XHB9971/FW612/MyMake/xDev/VRMM-Union/XP/@Say/JESUS/ESPOSA/3FILHOS

Link to comment
Share on other sites

citação:Tentei gerar um PRG pelo RVisual, mas deu na mesma coisa
id=quote>id=quote>

Ok. Detectei o que está acontecendo. É o modo onde são passados os controles. Veja:

se fizer assim, os GETs ficam em 3D:


define dialog...

@ lin, col // seus controles aqui

activate dialog...

id=code>id=code>

mas se passar assim, os GETS não ficam em 3D:


define dialog...

//sem controles aqui

activate dialog... ON INIT Inicio()

//------------

Function Inicio()

@ lin, col...// seus controles aqui

id=code>id=code>

Este último modo é como o VRMM e o RVisual cria os controles em uma Dialog.

Ele cria assim, porque alguns controles não funcionam direito no primeiro modo. Por exemplo, se vc colocar um controle dentro de um GROUP, dá pau. Pra resouver isso, vc deve colocar o controle SOBRE o GROUP e não dentro. Parece que é a mesma coisa mas não é. Quando vc coloca um controle SOBRE o GROUP, caso você mova o GROUP de lugar, os controles ficam pra trás, ele não vão junto porque não pertecem ao GROUP. Até aí tudo bem, é só um pouco de trabalho pra colocar tudo no lugar novamente.

Outro problema semelhante acontece quando você coloca um controle sobre uma imágem. Vai dar o mesmo. Porém, se utilizar a mesma saida que eu citei para o GROUP, até que vai aparecer direitinho, mas vc não consegue, por exemplo, clicar sobre um botão que esteja em cima de uma imagem.

No primeiro modo de programar (como no VRMM ou RVisual), não ocorrerá estes problemas, porém os GETs ficam limpos (com uma só linha)

Agora, se desejar usar o segundo modo, eu compilei uma versão alternativa do RVisual que faz o que você quer:

Baixe o arquivo rvisual.exe (alternativo) aqui, e substitua o seu:

http://www.slicplus.com.br/rvisual/rvisualexe.rar

Ricardo Marques

Link to comment
Share on other sites

citação:

citação:Tentei gerar um PRG pelo RVisual, mas deu na mesma coisa
id=quote>id=quote>

Ok. Detectei o que está acontecendo. É o modo onde são passados os controles. Veja:

se fizer assim, os GETs ficam em 3D:


define dialog...

@ lin, col // seus controles aqui

activate dialog...

id=code>id=code>

mas se passar assim, os GETS não ficam em 3D:


define dialog...

//sem controles aqui

activate dialog... ON INIT Inicio()

//------------

Function Inicio()

@ lin, col...// seus controles aqui

id=code>id=code>

Este último modo é como o VRMM e o RVisual cria os controles em uma Dialog.

Ele cria assim, porque alguns controles não funcionam direito no primeiro modo. Por exemplo, se vc colocar um controle dentro de um GROUP, dá pau. Pra resouver isso, vc deve colocar o controle SOBRE o GROUP e não dentro. Parece que é a mesma coisa mas não é. Quando vc coloca um controle SOBRE o GROUP, caso você mova o GROUP de lugar, os controles ficam pra trás, ele não vão junto porque não pertecem ao GROUP. Até aí tudo bem, é só um pouco de trabalho pra colocar tudo no lugar novamente.

Outro problema semelhante acontece quando você coloca um controle sobre uma imágem. Vai dar o mesmo. Porém, se utilizar a mesma saida que eu citei para o GROUP, até que vai aparecer direitinho, mas vc não consegue, por exemplo, clicar sobre um botão que esteja em cima de uma imagem.

No primeiro modo de programar (como no VRMM ou RVisual), não ocorrerá estes problemas, porém os GETs ficam limpos (com uma só linha)

Agora, se desejar usar o segundo modo, eu compilei uma versão alternativa do RVisual que faz o que você quer:

Baixe o arquivo rvisual.exe (alternativo) aqui, e substitua o seu:

http://www.slicplus.com.br/rvisual/rvisualexe.rar

Ricardo Marques


id=quote>id=quote>

HERRAR É UMANO... kkkkkkkkkkkkk

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832

http://pt-br.facebook.com/people/Jo%C3%A3o-Santos/100001195894196

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Everton,

Fiz um código que irá solucionar o seu problema:

1 -Chame a função MyBorders( oDlg ) no ON INIT do Dialog. EX:


Activate Dialog oForm ON INIT ( SeuInit(), MyBorders(oForm) )

id=code>id=code>

2 - Acrescente o código abaixo ao seu programa:


//-------------------------------------------------------------------------------

Function MyBorders( oDlg, oDlg2 )

local i

Default oDlg2 := oDlg

for i := 1 to len( oDlg:aControls )

if oDlg:aControls:ClassName() = "TGET"

bPainted( oDlg:aControls, oDlg2 )

endif

if oDlg:aControls:ClassName() = "TGROUP"

MyBorders( oDlg:aControls, oDlg2 )

endif

next

Return NIL

//----------------------------------------------------------------------------

Function bPainted( oGet, oDlg )

oGet:bPainted = { || PaintGet( oGet, oDlg ) }

Return NIL

//-----------------------------------------------------------------------------

Function PaintGet( oGet, oDlg )

local aPoint1 := { 0, 0 }

local aPoint2 := { oGet:nHeight, oGet:nWidth }

local nTop, nLeft, nBottom, nRight, hPen

nAnd( oGet:nStyle, nNot( WS_BORDER ) )

aPoint1 = ClientToScreen( oGet:hWnd, aPoint1 )

aPoint1 = ScreenToClient( oDlg:hWnd, aPoint1 )

aPoint2 = ClientToScreen( oGet:hWnd, aPoint2 )

aPoint2 = ScreenToClient( oDlg:hWnd, aPoint2 )

nTop := aPoint1[1]

nLeft := aPoint1[2]

nBottom := aPoint2[1]

nRight := aPoint2[2]

oDlg:GetDC()

hPen := CreatePen( 0, 1, CLR_HGRAY )

MoveTo( oDlg:hDC, nLeft-1, nBottom, hPen )

LineTo( oDlg:hDC, nLeft-1, nTop-1, hPen)

LineTo( oDlg:hDC, nRight, nTop-1, hPen )

oDlg:ReleaseDC()

oDlg:GetDC()

hPen := CreatePen( 0, 1, CLR_WHITE)

MoveTo( oDlg:hDC, nLeft-1, nBottom, hPen )

LineTo( oDlg:hDC, nRight, nBottom, hPen )

LineTo( oDlg:hDC, nRight, nTop-1, hPen )

oDlg:ReleaseDC()

Return nil

id=code>id=code>

Teste e informe se deu certo.

Ricardo Marques

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...