Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-02-2008
The_Avatar The_Avatar is offline
Miembro
 
Registrado: ene 2006
Posts: 43
Poder: 0
The_Avatar Va por buen camino
Cambio de cursor...

Mi objetivo es q en un objeto X con la propiedad CURSOR al llegar a la IZDA (x<50 de la propiedad mousemove de ese objeto x ejemplo) el cursor cambie a una flecha que señale a la izquierda. Para que os hagais una idea el objetivo seria algo parecido a lo que hacen los juegos de estrategia para desplazar la pantalla. He estado mirando varios hilos al respecto y no logro hacer que cambie el dibujo del cursor. He probado con loadcursorfromfile y asignandolo como dice en algun hilo pero los resultados son infructuosos. Alguna idea?? Os lo agradezco de antemano.^^
Responder Con Cita
  #2  
Antiguo 04-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿Podrías indicarnos el código que estás siguiendo?
¿A que llamas resultados infructuosos?¿No lo cambia?¿Provoca un error?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 04-02-2008
The_Avatar The_Avatar is offline
Miembro
 
Registrado: ene 2006
Posts: 43
Poder: 0
The_Avatar Va por buen camino
he intentado el ejemplo de uno de los hilos que hay en el foro q usa loadcursorfromfile y despues a la desesperada:
X.cursor:=loadcursorfromfile('RUTA al .cur')
asi como asignarle X.cursor:=screen.cursor[1]

cuando digo infructuosos es q NO cambia la imagen.
Responder Con Cita
  #4  
Antiguo 04-02-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Crea un form y en el MouseMove coloca este código:

Código Delphi [-]
  if x<50 then begin
    Screen.Cursor := crSizeCross;
  end
  else if (x > Self.Width - 50) then begin
    Screen.Cursor := crDrag;
  end
  else if (y < 50) then begin
    Screen.Cursor := crHourGlass;
  end

  else begin
    Screen.Cursor := crDefault;
  end;


Debería funcionar igual si el cursor lo cargas de un recurso o de disco.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 04-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cuando presioné para responderte, noté que Neftali ya dio una buena referencia.
Y su código funciona.
Edito mi mensaje porque el código que puse tenía una falla.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 04-02-2008 a las 18:06:28.
Responder Con Cita
  #6  
Antiguo 04-02-2008
The_Avatar The_Avatar is offline
Miembro
 
Registrado: ene 2006
Posts: 43
Poder: 0
The_Avatar Va por buen camino
probe asignando los cursores x defecto y SI q funciona, pero cuando pruebo con la funcion LOADCURSORFROMFILE-->screen.Cursor:=LoadCursorFromFile('RUTA') NO cambia el cursor. como narices uso un icono de cursor que yo quiera?? con los predefinidos esta claro...
Responder Con Cita
  #7  
Antiguo 04-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
The_Avatar,
Este ejemplo lo que hace es cargar un cursor desde un archivo y lo muestra en la parte izquierda de la pantalla, mientras que si el cursor está del lado derecho muestra el de por defecto...

Lo que tu deberás hacer es limitar el área en donde se deberá mostrar el cursor que elijas... En tu caso, dependiendo de los límites y la posición del objeto en cuestión.

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
  //cargar los cursores
  // en el ejemplo en 1
  screen.Cursors[1] := LoadCursorFromFile('C:\WINDOWS\Cursores\3dgarro.cur');
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if X < (ClientWidth div 2)
     then screen.Cursor := 1
     else screen.Cursor := crDefault;
end;

end.

Si esto no te funciona... habría que ver en tu código si tienes algún problema... No se que puede estar mal.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
El cambio de Usuario de Windows Me cambio el Delphi!! El_Raso Varios 5 22-11-2006 17:27:02
cursor Makiley Varios 2 06-02-2006 21:57:43
Cambio del cursor en una sql lbidi Varios 1 12-08-2005 15:39:05
Cursor subzero Firebird e Interbase 1 21-02-2005 20:08:42
Cursor fmonte Varios 2 26-08-2004 00:51:46


La franja horaria es GMT +2. Ahora son las 14:53:23.


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