Como adicionar um cursor em Object Inspector no Delphi???
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á...
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
Curtidas 0
Respostas
Adriano Santos
28/07/2005
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.
GOSTEI 0
Duolon
28/07/2005
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?
GOSTEI 0
Adriano Santos
28/07/2005
A forma mais fácil seria:
crie uma constante desta forma
no evento onMouseMove coloque
e no onCreate do form
Por aqui vc já vai ter uma ideia de como funciona.
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.
GOSTEI 0
Duolon
28/07/2005
A forma mais fácil seria:
crie uma constante desta forma
no evento onMouseMove coloque
e no onCreate do form
Por aqui vc já vai ter uma ideia de como funciona.
const crSeuCursor = 1; // Tem que ser um valor maior que 0 (zero)
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;
Form1.Cursor := crSeuCursor;
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... :(
GOSTEI 0
Duolon
28/07/2005
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..
GOSTEI 0
Duolon
28/07/2005
agora consegui, é pq tava Tform1 dáí troquei o Tform1 pelo nome do botão.. Valew cara :D
GOSTEI 0
Adriano Santos
28/07/2005
Certifique-se de que na linha:
O diretório e nome do arquivo do cursor existam.
Screen.Cursors [crSeuCursor] := LoadCursorFromFile (´c:\winnt\cursors\harrow.cur´);
O diretório e nome do arquivo do cursor existam.
GOSTEI 0
Duolon
28/07/2005
Certifique-se de que na linha:
O diretório e nome do arquivo do cursor existam.
Screen.Cursors [crSeuCursor] := LoadCursorFromFile (´c:\winnt\cursors\harrow.cur´);
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???
GOSTEI 0
Michael
28/07/2005
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:
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
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
GOSTEI 0
Duolon
28/07/2005
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?
GOSTEI 0
Michael
28/07/2005
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
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
GOSTEI 0
Duolon
28/07/2005
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???
GOSTEI 0
Duolon
28/07/2005
UP :!:
GOSTEI 0
Michael
28/07/2005
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
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
GOSTEI 0
Duolon
28/07/2005
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?
GOSTEI 0