Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2010
Avatar de masedano
masedano masedano is offline
Registrado
 
Registrado: jun 2007
Posts: 9
Poder: 0
masedano Va por buen camino
Post Como cambiar el texto del reloj

Hola

Ya hice esta pregunta hace un tiempo y quisiera exponerla de nuevo, con algún dato mas:
Estuve buscando y no encontré (o no busqué bien) como cambiar el texto del reloj.
Encontré un programa llamado WinCalendarTime el cual cambia el reloj de windows, agrandándolo y mostrando mas información.
Quise copiar esta funcionalida pero no pude.
Vi en uno de los hilos (Hint del reloj de Windows - 53838) que iban a modificar un programa escrito en C, pero no avisaron si lo habían echo o si lo iban a compartir.

El código que yo hice, para probar cambiar el mensaje, es el siguiente.

Código Delphi [-]
procedure TFClock.Button2Click(Sender: TObject);
var
  hShell_TrayWnd: THandle;
  hTrayNotifyWnd: THandle;
  hClockWClass: THandle;
  Texto: PChar;
begin
  hShell_TrayWnd := FindWindow('Shell_TrayWnd', nil);
  hTrayNotifyWnd := FindWindowEx(hShell_TrayWnd, 0, 'TrayNotifyWnd', nil);
  hClockWClass := FindWindowEx(hTrayNotifyWnd, 0, 'TrayClockWClass', nil);
  Texto := 'HOLA';
  SendMessage(hClockWClass, WM_SETTEXT, 0, LongInt(Texto));
end;


Lo "raro" es que si veo las propiedades del hClockWClass me dice que el "caption" es HOLA, pero en pantalla no se actualiza.
Luego probé con

Código Delphi [-]
  SendMessage(hClockWClass, WM_SETTEXT, 0, LongInt(Texto));
  Windows.SendMessage(hClockWClass, WM_PAINT, 0, 0);


pero tampoco funcionó.

Hice algunas pruebas mas pero el texto del reloj sigue ahi... inalterable ...

Si alguien puede darme una mano, desde ya muy agradecido.


Saludos

Última edición por masedano fecha: 23-09-2010 a las 21:40:13.
Responder Con Cita
  #2  
Antiguo 23-09-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

No te entiendo exactamente lo que estás tratando de hacer..???
¿A qué le llamas "Texto del reloj"?
Si lo que estás tratando es cambiar el Caption de la ventana de propiedades de Fecha y hora, pues sencillamente lo puedes hacer así:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  h1:HWND;
begin
   h1:=FindWindow(nil,'Propiedades de Fecha y hora');//Busco la ventana que tiene ese caption
    if h1 <> 0 then // si se ha hallado un handle válido
    SetWindowTextW(h1,'HOLA');// procedo a cambiarle el caption
end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 23-09-2010
Avatar de masedano
masedano masedano is offline
Registrado
 
Registrado: jun 2007
Posts: 9
Poder: 0
masedano Va por buen camino
Muchas gracias por la pronta respuesta y disculpa, no me expliqué bien.

Cuando me refería a el "texto del reloj" quise decir la hora.
El que aparece abajo a la derecha, en el systemtray.
Es decir, en lugar de que salga "17:15" quiero que salga "23/09/2010, 17:15:17".

Para probar, quise poner el "HOLA" pero no pude.
Responder Con Cita
  #4  
Antiguo 23-09-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Pues en ese caso hubiera sido mejor poner un título :"Como cambiar el formato de Fecha y Hora en Windows" no lo creés?
De todas formás lo puedes hacer directamente desde Windows tal como se indica aquí o aquí. y si eso no te es suficiente Aquí hay más todavía.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #5  
Antiguo 24-09-2010
Avatar de masedano
masedano masedano is offline
Registrado
 
Registrado: jun 2007
Posts: 9
Poder: 0
masedano Va por buen camino
naaaaaaaaa
No es eso lo que necesito
Evidentemente no me expreso bien hoy...

Lo que quiero es poner "cualquier" texto en el "cuadradito" que ocupa el reloj.
Fijate que quise usar las llamadas de API de windows con WM_SETTEXT y el texto que envío no se muestra.

Es como que el texto llega al control pero no se visualiza.
Es mas, me gustaría ampliar el espacio que ocupa el reloj y hacerlo mas grande para poner funcionalidad adicional, como un botoncito o algo asi.

Espero haberme explicado bien.
Aqui dejo un link a un gráfico de ejemplo, donde muestro como funciona el WinCalendarTime. Por lo que estuve investigando, cambia el tamaño del reloj, pone texto a gusto (actualiza mostrando segundos, inclusive) y cuando se pulsa una combinación de teclas o se hace click sobre el, se muestra un calendario que queda por encima de todas las ventanas hasta que pulsas la combinación de teclas, de nuevo o haces click nuevamente.

h t t p : / / p i c a s a w e b . g o o g l e . c o m / l h / p h o t o / V d U F x 8 _ U N H 8 m T e 9 u V c i 9 v 5 y g 5 H h s U u R u 0 j 1 P k P 8 o w S w ? f e a t = d i r e c t l i n k

Disculpa que ponga el link de esta manera, pero si no me dice que no tengo permisos para poner un link.

Saludos!!!
Responder Con Cita
  #6  
Antiguo 24-09-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por masedano Ver Mensaje
h t t p : / / p i c a s a w e b . g o o g l e . c o m / l h / p h o t o / V d U F x 8 _ U N H 8 m T e 9 u V c i 9 v 5 y g 5 H h s U u R u 0 j 1 P k P 8 o w S w ? f e a t = d i r e c t l i n k
Creo que es suficiente con que quites una letra

ttp://picasaweb.google.com/lh/photo/VdUFx8_UNH8mTe9uVci9v5yg5HhsUuRu0j1PkP8owSw?feat=directlink
Responder Con Cita
Respuesta



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
Como cambiar color de fondo del editor de texto de Eclipse? oracle JAVA 2 04-12-2007 22:59:51
Como implementar un reloj analógico redondo cesareynoso Varios 1 15-10-2007 21:54:16
como activar un reloj Jheysson13 Varios 3 24-04-2006 13:08:23
Como Visualizar un reloj dentro de una ficha morfeo21 Varios 2 05-08-2005 19:04:33
Como crear calendario y reloj Mario1980 Varios 4 15-10-2004 16:20:45


La franja horaria es GMT +2. Ahora son las 01:21:41.


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