marcioe Posted April 25, 2016 Report Share Posted April 25, 2016 Amigos Gostaria de colocar um calendário Tipo o da imagem abaixo no sistema a imagem é um BMP com a logo da minha empresa, porem queria que ficasse o calendário no fundo Quote Link to comment Share on other sites More sharing options...
Theotokos Posted April 25, 2016 Report Share Posted April 25, 2016 DEFINE BITMAP oImgFundo FILE "BMP\FUNDO.BMP" DEFINE BITMAP oImgLogo FILE "BMP\CALENDARIO.BMP" DEFINE WINDOW oWndMain FROM 1, 1 TO 780, 1024 PIXEL TITLE "Sistema de Controle de Lojas" ; MENU BuildMenu() ICON oIco ... ... ... ACTIVATE WINDOW oWndMain MAXIMIZED On Paint Fundo(oWndMain, hDC, oImgFundo, oImgLogo ) * //-------------------------------------------------------------------------- FUNCTION FUNDO( oWndMain, hDC, oImg, oImg1) LOCAL nTop := (oWndMain:nHeight()-oImg1:nHeight) / 2 LOCAL nLeft := (oWndMain:nWidth()-oImg1:nWidth ) / 2 PALBMPDRAW( hDC, 0, 0, oImg:hBitmap, , oWndMain:nWidth, oWndMain:nHeight-75 ) DrawMasked( hDC, oImg1:hBitmap, nTop, nLeft ) RETURN NIL Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 26, 2016 Author Report Share Posted April 26, 2016 Amigo, obrigado por responder, mas eu quero colocar um calendário dinamico, ou seja que ele atualize com a data do PC. Não entendi onde ele atualizará o mes por exemplo com o que voce postou, mas mesmo assim agradeço. e me desculpa se não entendi a sua resposta Quote Link to comment Share on other sites More sharing options...
VLNUNES Posted April 26, 2016 Report Share Posted April 26, 2016 Tenho um calendário bem simples, que talvez sirva de base. No PRG principal //---------------- INICIO DO CALENDÁRIO dDia := ctod("01/"+STRZERO(MONTH(date()),2)+"/"+STRZERO(YEAR(date()),4)) MESA :="" DATAEXT(DATE()) DATAATUAL := STRZERO(DAY(DATE()),2)+" de "+mesa+" de "+STRZERO(YEAR(DATE()),4) cDia :="" UltDiaMes(date()) //---------------- FUNDO DOA TELA DEFINE BITMAP oBmp FILE "figuras\backg.bmp" DEFINE DIALOG oWnd1 RESOURCE "CALENDA" of oWnd COLOR RGB (000,000,000) ,RGB (192,192,192) REDEFINE SAY oSAYCAL38 PROMPT DATAATUAL ID 38 FONT oFontCALE2 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL39 PROMPT "" ID 39 FONT oFontCALE2 COLOR RGB (255,255,255) ,RGB (255,255,255) REDEFINE SAY oSAYCAL40 PROMPT "DOM" ID 40 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL41 PROMPT "SEG" ID 41 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL42 PROMPT "TER" ID 42 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL43 PROMPT "QUA" ID 43 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL44 PROMPT "QUI" ID 44 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL45 PROMPT "SEX" ID 45 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) REDEFINE SAY oSAYCAL46 PROMPT "SAB" ID 46 FONT oFontCALE3 COLOR RGB (000,000,000) ,RGB (255,255,255) if Dow(dDia)=1 id1 := 1 elseif Dow(dDia)=2 id1 := 2 elseif Dow(dDia)=3 id1 := 3 elseif Dow(dDia)=4 id1 := 4 elseif Dow(dDia)=5 id1 := 5 elseif Dow(dDia)=6 id1 := 6 elseif Dow(dDia)=7 id1 := 7 endif REDEFINE SAY oSAYCAL01 prompt "01" ID id1+00 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL02 prompt "02" ID id1+01 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL03 prompt "03" ID id1+02 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL04 prompt "04" ID id1+03 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL05 prompt "05" ID id1+04 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL06 prompt "06" ID id1+05 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL07 prompt "07" ID id1+06 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL08 prompt "08" ID id1+07 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL09 prompt "09" ID id1+08 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL10 prompt "10" ID id1+09 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL11 prompt "11" ID id1+10 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL12 prompt "12" ID id1+11 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL13 prompt "13" ID id1+12 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL14 prompt "14" ID id1+13 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL15 prompt "15" ID id1+14 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL16 prompt "16" ID id1+15 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL17 prompt "17" ID id1+16 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL18 prompt "18" ID id1+17 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL19 prompt "19" ID id1+18 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL20 prompt "20" ID id1+19 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL21 prompt "21" ID id1+20 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL22 prompt "22" ID id1+21 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL23 prompt "23" ID id1+22 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL24 prompt "24" ID id1+23 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL25 prompt "25" ID id1+24 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL26 prompt "26" ID id1+25 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL27 prompt "27" ID id1+26 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) REDEFINE SAY oSAYCAL28 prompt "28" ID id1+27 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) if cDia > 28 REDEFINE SAY oSAYCAL29 prompt "29" ID id1+28 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) endif if cDia > 29 REDEFINE SAY oSAYCAL30 prompt "30" ID id1+29 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) endif if cDia > 30 REDEFINE SAY oSAYCAL31 prompt "31" ID id1+30 of oWnd1 FONT oFontCALE1 COLOR RGB (0,0,0),RGB (255,255,255) endif ACTIVATE DIALOG oWnd1 nowait ON PAINT (DrawBitmap(oWnd1:hDC,oBmp:hBitmap,0,0,oWnd1:nWidth,oWnd1:nHeight),; oWnd1:Move( nResVert-(nResVert-208),nResHoriz-372 ) ) oFontCALE1:END() oFontCALE2:END() oFontCALE3:END() //---------------- FIM DO CALENDÁRIO //-------------- PEGAR MES POR EXTENSSO FUNCTION DATAEXT(DIIA) if Month(DIIA)=1 mesa:="janeiro" elseif Month(Date())=2 mesa:="fevereiro" elseif Month(Date())=3 mesa:="março" elseif Month(Date())=4 mesa:="abril" elseif Month(Date())=5 mesa:="maio" elseif Month(Date())=6 mesa:="junho" elseif Month(Date())=7 mesa:="julho" elseif Month(Date())=8 mesa:="agosto" elseif Month(Date())=9 mesa:="setembro" elseif Month(Date())=10 mesa:="outubro" elseif Month(Date())=11 mesa:="novembro" elseif Month(Date())=12 mesa:="dezembro" endif RETURN ( MESA ) //------------------- VERIFICA O ULTIMO DIA DO MES FUNCTION UltDiaMes(dData1) LOCAL nAno:=0, nMes:=0, dData2:=CTOD("") dData1:=CTOD("01"+SUBSTR(DTOC(dData1),3)) nAno := YEAR(dData1) nMes := MONTH(dData1) IF MONTH(dData1)==12 dData2:= CTOD( "01/01/"+STRZERO(nAno+1,4) ) ELSE dData2:= CTOD( "01/"+STRZERO(nMes+1,2)+"/"+STRZERO(nAno,4) ) ENDIF cDia :=dData2-dData1 RETURN( CTOD(StrZero(cDia,2)+SUBSTR(DTOC(dData1),3)) ) // Eroni RC do calendário CALENDA DIALOG 382, 15, 200, 193 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE FONT 8, "MS Sans Serif" { LTEXT "39", 39, 5, 21, 190, 168, WS_BORDER | WS_GROUP CTEXT "DOM", 40, 8, 23, 22, 8 CTEXT "SEG", 41, 35, 23, 22, 8 CTEXT "TER", 42, 62, 23, 22, 8 CTEXT "QUA", 43, 89, 23, 22, 8 CTEXT "QUI", 44, 116, 23, 22, 8 CTEXT "SEX", 45, 143, 23, 22, 8 CTEXT "SAB", 46, 170, 23, 22, 8 CTEXT "38", 38, 5, 3, 190, 17 CTEXT "", 1, 8, 34, 22, 22 CTEXT "", 2, 35, 34, 22, 22 CTEXT "", 3, 62, 34, 22, 22 CTEXT "", 4, 89, 34, 22, 22 CTEXT "", 5, 116, 34, 22, 22 CTEXT "", 6, 143, 34, 22, 22 CTEXT "", 7, 170, 34, 22, 22 CTEXT "", 8, 8, 60, 22, 22 CTEXT "", 9, 35, 60, 22, 22 CTEXT "", 10, 62, 60, 22, 22 CTEXT "", 11, 89, 60, 22, 22 CTEXT "", 12, 116, 60, 22, 22 CTEXT "", 13, 143, 60, 22, 22 CTEXT "", 14, 170, 60, 22, 22 CTEXT "", 15, 8, 86, 22, 22 CTEXT "", 16, 35, 86, 22, 22 CTEXT "", 17, 62, 86, 22, 22 CTEXT "", 18, 89, 86, 22, 22 CTEXT "", 19, 116, 86, 22, 22 CTEXT "", 20, 143, 86, 22, 22 CTEXT "", 21, 170, 86, 22, 22 CTEXT "", 22, 8, 112, 22, 22 CTEXT "", 23, 35, 112, 22, 22 CTEXT "", 24, 62, 112, 22, 22 CTEXT "", 25, 89, 112, 22, 22 CTEXT "", 26, 116, 112, 22, 22 CTEXT "", 27, 143, 112, 22, 22 CTEXT "", 28, 170, 112, 22, 22 CTEXT "", 29, 8, 138, 22, 22 CTEXT "", 30, 35, 138, 22, 22 CTEXT "", 31, 62, 138, 22, 22 CTEXT "", 32, 89, 138, 22, 22 CTEXT "", 33, 116, 138, 22, 22 CTEXT "", 34, 143, 138, 22, 22 CTEXT "", 35, 170, 138, 22, 22 CTEXT "", 36, 8, 164, 22, 22 CTEXT "", 37, 35, 164, 22, 22 } Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 26, 2016 Report Share Posted April 26, 2016 Que tal? Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 26, 2016 Author Report Share Posted April 26, 2016 Opa blz, posta o source, mas pelo que é. Uma diálog O mais legal seria algo como um @ say, na imagem de fundo transparente Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 26, 2016 Author Report Share Posted April 26, 2016 Opa blz, posta o source, mas pelo que é. Uma diálog O mais legal seria algo como um @ say, na imagem de fundo transparente Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 26, 2016 Report Share Posted April 26, 2016 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=18594&start=0 http://fivewin.com.br/index.php?/topic/16640-altera%C3%A7%C3%A3o-na-classe-tcalendar/?hl=calendario Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 27, 2016 Author Report Share Posted April 27, 2016 pessoal tá quase funcionando blz já deu uma outra aparencia para quem desejar fazer o código é simples demais * Tem que colocar essa include #include "calendar.ch" dDate1 = Date() @ 500, 010 CALENDAR oDtp1 VAR dDate1 OF oW_Principal PIXEL SIZE 220, 150 Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted April 27, 2016 Report Share Posted April 27, 2016 pessoal tá quase funcionando blz já deu uma outra aparencia para quem desejar fazer o código é simples demais * Tem que colocar essa include #include "calendar.ch" dDate1 = Date() @ 500, 010 CALENDAR oDtp1 VAR dDate1 OF oW_Principal PIXEL SIZE 220, 150 Legal!!! Você pode me dá a idéia de colocar o calendario na tela assim? é que para ser utilizado como? tipo assim agendar algo? Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 27, 2016 Author Report Share Posted April 27, 2016 Nesse caso especifico é apenas para exibir mesmo, a pedido de um cliente. Pois ele gostaria de ter o calendário a mão, e ao Desktop do sistema fica legal. Mas é uma ideia que se ao clicar no dia ela vá para a agenda de compromissos, etc. Vamos trocando figurinhas e ver no que podemos melhorar ! Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted April 27, 2016 Report Share Posted April 27, 2016 Por mais que mexi direto na classe não consegui deixar transparente, acredito que ela não tem este recurso. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.