GARANTIR DESCONTO

Fórum Como adicionar um cursor em Object Inspector no Delphi??? #289917

28/07/2005

0

Como adicionar um cursor em Object Inspector no Delphi?

tipo, tem crAppStart, cdArrow, crCross etc.. como faço pra adicionar um cursor nessa lista???

é q eu fiz um cursor e queria incluir o meu lá...


Duolon

Duolon

Responder

Posts

29/07/2005

Adriano Santos

Bom, até onde eu sei não é possível, pois os cursores que aparecem lá são listados apartir da propriedade do objeto que está selecionado no momento.


Responder

Gostei + 0

29/07/2005

Duolon

Bom, até onde eu sei não é possível, pois os cursores que aparecem lá são listados apartir da propriedade do objeto que está selecionado no momento.


E teria algum code q colocado no evento OnMouseOver do objeto q fizesse aparecer o meu cursor?


Responder

Gostei + 0

29/07/2005

Adriano Santos

A forma mais fácil seria:

crie uma constante desta forma
const 
  crSeuCursor = 1; // Tem que ser um valor maior que 0 (zero)


no evento onMouseMove coloque

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Screen.Cursors [crSeuCursor] := LoadCursorFromFile (´c:\winnt\cursors\harrow.cur´);
  // O cursor pode ser dos tipos comum (*.cur) ou animado (*.ani)
  // Lembre-se: o arquivo tem que estar na mesma pasta do programa
  // ou digite o nome do caminho dele.
end;


e no onCreate do form

  Form1.Cursor := crSeuCursor;



Por aqui vc já vai ter uma ideia de como funciona.


Responder

Gostei + 0

29/07/2005

Duolon

A forma mais fácil seria: crie uma constante desta forma
const 
  crSeuCursor = 1; // Tem que ser um valor maior que 0 (zero)
no evento onMouseMove coloque
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Screen.Cursors [crSeuCursor] := LoadCursorFromFile (´c:\winnt\cursors\harrow.cur´);
  // O cursor pode ser dos tipos comum (*.cur) ou animado (*.ani)
  // Lembre-se: o arquivo tem que estar na mesma pasta do programa
  // ou digite o nome do caminho dele.
end;
e no onCreate do form
  Form1.Cursor := crSeuCursor;
Por aqui vc já vai ter uma ideia de como funciona.


Fiz isso aí e na compilação ñ deu nenhum erro, porem na execução do programa quando passo o mouse sobre o botão o cursor fica o mesmo... :(


Responder

Gostei + 0

29/07/2005

Duolon

Agora deu certo, só q ao contrario hehe, tipo quando passo o mouse sobre o botão fica o cursor padrão e quando tiro no botão aparece o cursor q eu fiz..


Responder

Gostei + 0

29/07/2005

Duolon

agora consegui, é pq tava Tform1 dáí troquei o Tform1 pelo nome do botão.. Valew cara :D


Responder

Gostei + 0

29/07/2005

Adriano Santos

Certifique-se de que na linha:

Screen.Cursors [crSeuCursor] := LoadCursorFromFile 
(´c:\winnt\cursors\harrow.cur´);


O diretório e nome do arquivo do cursor existam.


Responder

Gostei + 0

29/07/2005

Duolon

Certifique-se de que na linha:
Screen.Cursors [crSeuCursor] := LoadCursorFromFile 
(´c:\winnt\cursors\harrow.cur´);
O diretório e nome do arquivo do cursor existam.


Compilei e fui executar o arquivo em outra máquina, só q essa maquina ñ tinha o cursor q eu fiz... aí ñ apareceu o cursor..., teria como tá integrando esse cursor ao arquivo compilado? e com oq eu faço???


Responder

Gostei + 0

30/07/2005

Michael

Olá colega!

Basta vc colocar seu cursor dentro de um [b:35267a64ae]arquivo de recurso [/b:35267a64ae](RES) e incluí-lo no seu código fonte com a diretiva abaixo:

{$R NomeDoArquivo.RES}.


Vc pode criar o arquivo de recurso com o ImageEditor, que vem com o Delphi.

Se quiser ser criar uma solução profissional, pode criar um novo componente, derivado do que vc quer alterar o cursor, e criar uma nova propriedade, digamos [b:35267a64ae]CursorFileName[/b:35267a64ae], e fazer com q o próprio componente se encarregue de mudar o ponteiro.

[]´s


Responder

Gostei + 0

01/08/2005

Duolon

Pelo image editor do Delphi consegui criar o arquivo .RES depois coloquei isso: [b:15b25895ef]{$R NomeDoArquivo.RES}[/b:15b25895ef] no Form q queria q mudasse o cursor, só q continuou na mesma e ñ mudou nada, será q fiz alguma coisa de errado? teria outro jeito de fazer issu?


Responder

Gostei + 0

02/08/2005

Michael

Colega,

Desculpe a pergunta, mas vc colocou exatamente assim na unti do form: [b:e8c5fbab24]{$R NomeDoArquivo.RES}[/b:e8c5fbab24] :shock:

Bom, também é necessário carregar o cursor com a função [b:e8c5fbab24]LoadCursor[/b:e8c5fbab24]. Não me lembro de cabeça os parâmetros dela. Procure no help do Delphi. Esta função carrega um cursor de dentro de um arquivo de recurso. Acho q esqueci de mencionar isso acima :oops:

[]´s


Responder

Gostei + 0

02/08/2005

Duolon

Colega, Desculpe a pergunta, mas vc colocou exatamente assim na unti do form: [b:3eaa9089c9]{$R NomeDoArquivo.RES}[/b:3eaa9089c9] :shock: Bom, também é necessário carregar o cursor com a função [b:3eaa9089c9]LoadCursor[/b:3eaa9089c9]. Não me lembro de cabeça os parâmetros dela. Procure no help do Delphi. Esta função carrega um cursor de dentro de um arquivo de recurso. Acho q esqueci de mencionar isso acima :oops: []´s


heheheh, ñ eu troquei o [b:3eaa9089c9]NomeDoArquivo[/b:3eaa9089c9] pelo nome do meu arquivo .RES

então deve ser por isso q ñ estava carregando o cursor..., dei uma procurada mais ñ axei nada, como q ficariam os parametros dessa função q vc citou???


Responder

Gostei + 0

03/08/2005

Duolon

UP :!:


Responder

Gostei + 0

03/08/2005

Michael

Colega,

Extraído do help do Delphi:

[i:9b54c49815][size=14:9b54c49815][b:9b54c49815]LoadCursor Function[/b:9b54c49815][/size:9b54c49815]

The LoadCursor function loads the specified cursor resource from the executable (.EXE) file associated with an application instance.

Note This function has been superseded by the LoadImage function.

[b:9b54c49815]Syntax[/b:9b54c49815]

HCURSOR LoadCursor( HINSTANCE hInstance,
LPCTSTR lpCursorName
);

[b:9b54c49815]Parameters[/b:9b54c49815]

[b:9b54c49815]hInstance[/b:9b54c49815]
[in] Handle to an instance of the module whose executable file contains the cursor to be loaded.
[b:9b54c49815]lpCursorName[/b:9b54c49815]
[in] Pointer to a null-terminated string that contains the name of the cursor resource to be loaded. Alternatively, this parameter can consist of the resource identifier in the low-order word and zero in the high-order word. The MAKEINTRESOURCE macro can also be used to create this value. To use one of the predefined cursors, the application must set the hInstance parameter to NULL and the lpCursorName parameter to one the following values:
[b:9b54c49815]IDC_APPSTARTING[/b:9b54c49815]
Standard arrow and small hourglass
[b:9b54c49815]IDC_ARROW[/b:9b54c49815]
Standard arrow
[b:9b54c49815]IDC_CROSS[/b:9b54c49815]
Crosshair
[b:9b54c49815]IDC_HAND[/b:9b54c49815]
Windows 98/Me, Windows 2000/XP: Hand
[b:9b54c49815]IDC_HELP[/b:9b54c49815]
Arrow and question mark
[b:9b54c49815]IDC_IBEAM[/b:9b54c49815]
I-beam
[b:9b54c49815]IDC_ICON[/b:9b54c49815]
Obsolete for applications marked version 4.0 or later.
[b:9b54c49815]IDC_NO[/b:9b54c49815]
Slashed circle
[b:9b54c49815]IDC_SIZE[/b:9b54c49815]
Obsolete for applications marked version 4.0 or later. Use IDC_SIZEALL.
[b:9b54c49815]IDC_SIZEALL[/b:9b54c49815]
Four-pointed arrow pointing north, south, east, and west
[b:9b54c49815]IDC_SIZENESW[/b:9b54c49815]
Double-pointed arrow pointing northeast and southwest
[b:9b54c49815]IDC_SIZENS[/b:9b54c49815]
Double-pointed arrow pointing north and south
[b:9b54c49815]IDC_SIZENWSE[/b:9b54c49815]
Double-pointed arrow pointing northwest and southeast
[b:9b54c49815]IDC_SIZEWE[/b:9b54c49815]
Double-pointed arrow pointing west and east
[b:9b54c49815]IDC_UPARROW[/b:9b54c49815]
Vertical arrow
[b:9b54c49815]IDC_WAIT[/b:9b54c49815]
Hourglass

[b:9b54c49815]Return Value[/b:9b54c49815]

If the function succeeds, the return value is the handle to the newly loaded cursor.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.

[b:9b54c49815]Remarks[/b:9b54c49815]

The LoadCursor function loads the cursor resource only if it has not been loaded; otherwise, it retrieves the handle to the existing resource. This function returns a valid cursor handle only if the lpCursorName parameter is a pointer to a cursor resource. If lpCursorName is a pointer to any type of resource other than a cursor (such as an icon), the return value is not NULL, even though it is not a valid cursor handle.

The LoadCursor function searches the cursor resource most appropriate for the cursor for the current display device. The cursor resource can be a color or monochrome bitmap.

[b:9b54c49815]Windows 95/98/Me:[/b:9b54c49815] LoadCursorW is supported by the Microsoft® Layer for Unicode (MSLU). To use this, you must add certain files to your application, as outlined in Microsoft Layer for Unicode on Windows 95/98/Me Systems.[/i:9b54c49815]

[]´s


Responder

Gostei + 0

03/08/2005

Duolon

Colega, Extraído do help do Delphi: [i][size=14:6c0e4bc053][b:6c0e4bc053]LoadCursor Function[/b:6c0e4bc053][/size:6c0e4bc053] The LoadCursor function loads the specified cursor resource from the executable (.EXE) file associated with an application instance. Note This function has been superseded by the LoadImage function. [b:6c0e4bc053]Syntax[/b:6c0e4bc053] HCURSOR LoadCursor( HINSTANCE hInstance, LPCTSTR lpCursorName );


cara, ñ entendi direito... é q num manjo quase nada em dephi... como q fica o código e em q parte eu coloco ele?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar