PDA

Ver la Versión Completa : cambiar los cursores de mi aplicacion


Joa0
29-05-2003, 20:09:15
Hola:

Tengo una aplicacion en la que me gustaría cambiar algunos de los cursores.

En concreto quiero cambiar:

crArrow, crDrag y crNoDrop.


Es decir, por ejemplo siempre que arrastro un control quiero que el cursor sea por ejemplo 'curArrastrar.cur'.

Espero puedan ayudarme. Gracias.

madriles
05-06-2003, 18:51:25
hola
mira en trucomania, existe uno, creo que el 25 que es para poner tus propios cursores y poderlos usar dentro de la aplicacion.
si no es esto lo que quieres dilo a ver si lo solucionamos

Joa0
06-06-2003, 18:11:09
Posteado originalmente por madriles
hola
mira en trucomania, existe uno, creo que el 25 que es para poner tus propios cursores y poderlos usar dentro de la aplicacion.
si no es esto lo que quieres dilo a ver si lo solucionamos

Gracias madriles.

No había visto yo ese truco:

He tenido q variar un poco el codigo del truco porque con self.cursor en on create (*), solo cambiaba el cursor en el formulario y no en todos los controles del mismo.

{$R Cursor.res}

const crflecha=-2;
crarrastrar=-12;
crnosoltar=-13;

procedure TForm1.FormCreate(Sender: TObject);
begin
screen.cursors[crflecha]:=loadcursor(hInstance,'CRFLECHA');
Screen.Cursors[crarrastrar] := LoadCursor(hInstance, 'CRARRASTRAR');
screen.cursors[crnosoltar]:=Loadcursor(hInstance,'CRNOSOLTAR');
screen.Cursor:=crflecha; //(*)en lugar de self.cursor
end;

El problema ahora es q tengo una aplicación con varios formularios y quiero que todos tengan los mismos cursores. con el cursor crdrag que seria -12 y crnodrop -13 no tengo problema, si que una vez cambiado screen.cursors, me los coge bien.
Pero el efecto no es el eperado, yo quiero q al abrir los siguientes formularios me aparezcan tambien con el cursor cargado en screen.cursor, y eso no lo hace, me toma el cursor normal de siempre.

Tal vez alguien pueda decirme qué hago mal. yo tenia entendido que cambiando el cursor en screen.cursor cambiaba el cursor de la aplicacion, y no me parece que haga eso.



Un saludo, y gracias por tu tiempo.

Joa0
16-06-2003, 22:02:07
Con este código
{$R Cursor.res}

const crflecha=-2;
crarrastrar=-12;
crnosoltar=-13;
....
procedure TForm1.FormCreate(Sender: TObject);
begin
screen.cursors[crflecha]:=loadcursor(hInstance,'CRFLECHA');
Screen.Cursors[crarrastrar] := LoadCursor(hInstance, 'CRARRASTRAR');
screen.cursors[crnosoltar]:=Loadcursor(hInstance,'CRNOSOLTAR');
screen.Cursor:=crflecha; //(*)en lugar de self.cursor
end;

El problema ahora es q tengo una aplicación con varios formularios y quiero que todos tengan los mismos cursores. con el cursor crdrag que seria -12 y crnodrop -13 no tengo problema, si que una vez cambiado screen.cursors, me los coge bien.
Pero el efecto no es el eperado, yo quiero q al abrir los siguientes formularios me aparezcan tambien con el cursor cargado en screen.cursor, y eso no lo hace, me toma el cursor normal de siempre.

Tal vez alguien pueda decirme qué hago mal. yo tenia entendido que cambiando el cursor en screen.cursor cambiaba el cursor de la aplicacion, y no me parece que haga eso.



Un saludo, y gracias por su tiempo.