![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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) |
|
#2
|
|||
|
|||
|
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) |
|
#3
|
|||
|
|||
|
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 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|