Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2021
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
TCalendar Color y sólo días mes seleccionado (Resuelto)

Hola amigos.

Creo que es conveniente abrir un nuevo hilo para los buscadores.
Si los administradores lo juzgan necesario, pueden borrar el hilo.

Después de mucho MAS buscar, probar y comprobar, he conseguido AMBAS COSAS: DIAS OCULTOS Y COLORES.
Basado en este enlace, he modificado y eliminado algunas cosas que no venían al caso en el fichero MainFrm.pas , en el fichero FMX.Calendar.Helpers.pas, y (sobre todo) en el fichero FMX.CalendarHolidayDays.Style.pas.

Al final he conseguido lo que buscaba, colorear los días y ocultar los días correspondientes al mes anterior y el siguiente.

Cada cual podrá adaptar los colores a su gusto.

Aviso que sólo lo he probado en la versión 10.3.3 de Delphi.

Aquí tenéis los archivos necesarios. Archivo Adjunto 3930

Espero que mis esfuerzos le sirvan a alguien más.


Saludos a todos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #2  
Antiguo 04-08-2021
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola de nuevo amigos.
Creo que puedo facilitaros las cosas un poquito mas.

Si alguien no quiere estar "comiéndose el coco" para implantar esta funcionalidad en algún proyecto que ya tenga operativo, os explico a continuación cómo lo hice yo y funcionó a la primera.

Recuerdo que uso la versión 10.3.3.

1) Copiamos los ficheros siguientes (desde la carpeta donde hemos descomprimido el fichero "Prueba Calendario Club Delphi.rar") a la carpeta de nuestro proyecto donde tenemos el formulario que lleva el TCalendar.
FMX.Calendar.Helpers.dcu
FMX.Calendar.Helpers.pas
FMX.Calendar.Style.dcu
FMX.Calendar.Style.pas
FMX.CalendarHolidayDays.Style.dcu
FMX.CalendarHolidayDays.Style.pas
MainFrm.fmx
MainFrm.pas
(Estos dos últimos no se usarán en tu proyecto, pero te hará falta abrir MainFrm.pas en la pestaña "Design" para copiar el libro de estilos "stilbk1".)

2) Incorporamos un TCalendar, (si no lo teníamos), al formulario donde tenemos o queremos tener el TCalendar.

3) Copiamos el libro de estilos llamado "stilbk1", (que está en el fichero MainFrm.pas), en el Layout donde hemos puesto el TCalendar.

4) Añadimos, a la cláusula uses del formulario que lleva el TCalendar, los ficheros que nos falten de entre los siguientes:
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Calendar, FMX.Controls.Presentation, FMX.MultiView, FMX.DateTimeCtrls, FMX.Layouts, FMX.ListBox,
FMX.Ani;

5) Después de la cláusula "implementation" añadimos estos ficheros al uses del formulario donde va el TCalendar:
uses
FMX.Calendar.Helpers, System.Rtti;

6) Añadimos al proyecto las unidades:
FMX.Calendar.Helpers
FMX.CalendarHolidayDays.Style

7) Añadimos al procedimiento OnCreate de nuestro formulario con el TCalendar:
Calendar1.Model.ShowWeekends := True;
Calendar1.Date := now;

8) Configuramos el TCalendar de este modo:
ControlType : Styled
FirstDayOfWeek : dowLocaleDefault
HitText : True
Name : Calendar1
ParentShowHint : False
Size/PlataformDefault : False
StyleLookUp : calendarstyle
TodayDefault : True

Con estos pasos, a mí me ha funcionado A LA PRIMERA en un proyecto que ya tenía terminado.

Ya sabéis que me gusta compartir mis soluciones.

Me alegraría saber que alguien se ha beneficiado de mis esfuerzos. Gracias.

Saludos a todos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #3  
Antiguo 17-09-2021
Ralevi Ralevi is offline
Miembro
 
Registrado: ago 2021
Posts: 20
Poder: 0
Ralevi Va por buen camino
Calendario con fechas coloreadas

Buenas a todos.

Estaba buscando un calendario en el que poder colorear determinados días siguiendo unos criterios, básicamente turnos de trabajo, para visualmente saber cuales te tocan, y llegue a este hilo.

Me parece muy interesante, pero es mas de lo que necesito, y finalmente opte por una solución mas "artesanal", que comparto por si le es útil a alguien.

Creo un TGridLayout con 7 columnas y 6 filas, cuarenta y dos casillas, 31 días mas 11 vacías

Lo relleno con 42 TButton, del 1 al 31 con el numero correspondiente, y del 32 al 42 sin texto, y deshabilitados.

Con DaysInMonth(fecha dia 1 del mes) calculo la posición del primer día del mes

Con DayOfTheWeek calculo los días que tiene ese mes, y oculto los que no corresponden (28 o 29 en febrero, 31 en los meses que no deben)

Modificas el mes y año a consultar con el control que quieras, en mi caso un TLabel y dos TSpeedButton, y dibuja el mes.

Y funciona, luego modificas el botón del día concreto con las propiedades de color de texto y/o color de fondo.

Puede que no sea una manera muy elegante, pero funciona.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TCalendar, deshabilitar días fuera del mes actual jhonalone Desarrollo en Delphi para Android 3 04-08-2021 01:46:08
Busqueda y visualizacion en DBGrid seleccionado solo Fila sisne OOP 9 26-03-2010 22:22:05
TListBox. Cambiar el color del elemento seleccionado adebonis OOP 1 08-11-2007 07:37:01
Modificar el color de fuente de un tmemo solo en determinadas lineas gaz-g7 Varios 3 28-06-2007 00:33:44
cabiar de color dias especificos Dayvis Varios 3 16-03-2005 12:12:37


La franja horaria es GMT +2. Ahora son las 14:09:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi