-= NemesiS =- Postado Janeiro 4, 2009 Denunciar Share Postado Janeiro 4, 2009 Olá pessoal do Script Brasil. Gostaria de saber como faço pra trocar os cursores padrão do delphi, de uma vez só (sem ter que ficar declarando em todo form o novo cursor..) tenho pronto os cursores que vou usar , um para cada situação , seta, maozinha, sql wait, ampulheta.., etc.. como posso declarar a substituição dos cursores padroes pelo meu de uma vez só, sem ter que declarar todas vez em todo o form.. ????? Toda ajuda é bem vinda ! Valews pessoal. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 5, 2009 Denunciar Share Postado Janeiro 5, 2009 Gostaria de saber como faço pra trocar os cursores padrão do delphiVeja se isto te ajudahttp://inf.unisul.br/~osmarjr/download/del...os/democurz.zipOutros http://scriptbrasil.com.br/forum/index.php...2&hl=cursorhttp://scriptbrasil.com.br/forum/index.php?showtopic=75043abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 -= NemesiS =- Postado Janeiro 6, 2009 Autor Denunciar Share Postado Janeiro 6, 2009 Olá !isto me ajuda sim e mtu, mais ainda estou com um problema.Como posso definir para os cursores serem trocados para todos os forms de uam vez só ???tentei definir no SOURCE do projeto , antes do application.RUN, mas não adiantou, ele continua com os cursores padrão.Valews Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 O arquivo que guarda os cursores do delphi é o controls.res que está dentro da pasta LIBpelo help do delphi temosEste exemplo mostra como acrescentar cursores a uma aplicação. Assume que um cursor de costume com o nome NewCursor foi acrescentado aos recursos (.RES arquivo) da aplicação. Você pode adicionar o cursor usando o editor de imagem. (Ferramentas | o Editor de Imagem) O código seguinte faz este cursor disponível para a aplicação pela constante crMyCursor e joga este este como cursor global para a aplicação.const crMyCursor = 5; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'NewCursor'); Cursor := crMyCursor; end;ainda não fiz um teste se trocando o arquivo controls.res por um outro, feito por mim funcionaria ... abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 -= NemesiS =- Postado Janeiro 6, 2009 Autor Denunciar Share Postado Janeiro 6, 2009 Olá Jhonas.até aki eu intendi perfeitamente.const crMyCursor = 5; procedure TForm1.FormCreate(Sender: TObject); begin Screen.Cursors[crMyCursor] := LoadCursor(HInstance, 'NewCursor'); Cursor := crMyCursor; end; entaum por exemplo posso ciar uma função global assim. function setCursor():boolean; begin Screen.Cursors[crDefault] := loadCursorFromFile('dafault.cur'); Screen.Cursors[crWait] := loadCursorFromFile('wait.cur'); Screen.Cursors[crHand] := loadCursorFromFile('hand.cur'); Screen.Cursors[crSqlWait] := loadCursorFromFile('sql.cur'); ... .. . end; e para cada cursor vou usar: Cursor := crMeuCursor ??, iso não é só para a seta (crDefault) ???, e para a mão, a ampulheta, sql etc...?? como ficaria ?? Só mais uma dúvida. crMyCursor = 5;porque igaul á 5 ????oque significa o 5 ??resumindo, ai em cada form somente chamo a função. certo ?Valews.Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 6, 2009 Denunciar Share Postado Janeiro 6, 2009 cada cursor possui um numero como indice .... crMyCursor = 5 significa que o indice de numero 5 passará a ter este novo icnone definido para ele ... exemplo:Constant Value ImagecrDefault 0 Whatever cursor is the default for the window class (usually crArrow).crNone -1 crArrow -2 crCross -3 crIBeam -4 crSizeNESW -6 crSizeNS -7 crSizeNWSE -8 crSizeWE -9 crUpArrow -10 crHourGlass -11 crDrag -12 crNoDrop -13 crHSplit -14 crVSplit -15 crMultiDrag -16 crSQLWait -17 crNo -18 crAppStart -19 crHelp -20 crHandPoint -21 crSize -22 (obsolete)crSizeAll -22Para ver melhor, clique na propriedade Cursor do Form e tecle F1 depois clique em TCursor abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 -= NemesiS =- Postado Janeiro 7, 2009 Autor Denunciar Share Postado Janeiro 7, 2009 Olá Jhonas.Declarei algumas constatntes de cursores que irei usar, como você mensionou.depois usei o screen.cursor[crConstDoCursor] := loadCursorFromFile('meusursor.ani')mesmo assim não deu certo. :(será que ele não consegue interpretar cursores do tipo .ani ??ai depois procurei o arquivo controls.res e modifiquei o arquivo para os meus cursores. (na pasta do delphi, lógico fiz um backup :) ) fechei e abri o delphi, compilei o meu projeto, e ai sim funcionou, mas porém não são todos os cursores que estão no arquivo .respreciso ainda substituir a ampulheta, e mais alguns que não estão no arquivo.o cursor crSqlWait está no arquivo .res é do tipo cur, existe a possibilidade de carregar um arquivo .ani (animado) no lugar de um .cur ??meus cursores estão em uma pasta no meu projeto e terão de ser carregados atraves de: loadCursorFromFile();Toda ajuda é bem vinda.ValewsAbraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 7, 2009 Denunciar Share Postado Janeiro 7, 2009 ai depois procurei o arquivo controls.res e modifiquei o arquivo para os meus cursores. (na pasta do delphi, lógico fiz um backup ) fechei e abri o delphi, compilei o meu projeto, e ai sim funcionou, mas porém não são todos os cursores que estão no arquivo .resObserve no post acima que os indices começam com 0 e vão decrescendo -1, -2, -3 ... etc procure usar do mesmo modoprocure no help do delphi .... tem mais informações sobre como usar outros cursoresexemplo :TScreen.CursorsLists the cursors available to the application. property Cursors[index: Integer]: HCursor; Description Use Cursor to access a particular cursor for use by the application or by a control within the application. TScreen includes several built-in cursors that are indexed by symbolic cursor constants. The image associated with the built-in cursors constants can be changed by setting the Cursors property. Custom cursors can be added to the Cursors property for use by the application or any of its controls. To add a custom cursor to an application: 1 Create the cursor resource using a resource editor. 2 Declare a cursor constant with a value that does not conflict with an existing cursor constant. 3 Use the Windows API function LoadCursor to obtain a handle to the new cursor. 4 Set the Cursors property, indexed by the newly declared cursor constant, to the handle obtained from LoadCursor. Note: Don’t call the Windows API function DestroyCursor when finished with a custom cursor; Delphi does this automatically.TraduçãoTScreen.CursorsListas os cursores disponível à aplicação. propriedade Cursors[index: Integer]: HCursor; Descrição Use Cursors para ter acesso um cursor particular para uso pela aplicação ou por um controle dentro da aplicação. TScreen inclui vários cursores embutidos que são indexados através de constantes de cursor simbólicas. A imagem associada com as constantes de cursores embutidas pode ser mudada setando a propriedade Cursors. Podem ser acrescentados cursores à propriedade de Cursors para uso pela aplicação ou quaisquer de seus controles. Para acrescentar um cursor a uma aplicação: 1 crie o recurso de cursor usando um editor de recurso. 2 declare uma constante cursor com um valor que não está em conflito com uma constante de cursor existente. 3 use a função API do Windows LoadCursor para obter um handle para o novo cursor. 4 Setar a propriedade de Cursors, indexada pela constante de cursor recentemente declarada, para a Handle obtida de LoadCursor. Nota: não chame a função API do Windows DestroyCursor quando finalizar com um cursor de costume; Delphi faz isto automaticamente.Carregar um cursor animado em sua aplicação Delphi procedure TForm1.Button3Click(Sender: TObject); const NovoCursor = 1; begin Screen.Cursors[ NovoCursor ] := LoadCursorFromFile('c:\windows\cursorsglobe.ani' ); Cursor := NovoCursor; end; OBS. Para descarregar o cursor animado troque a string 'c:\windows\cursors\globe.ani' por 'OCR_NORMAL'. outro exemplo implementation {$R *.DFM} {$R cursors.RES} const CrNewCursor = 5; procedure TForm1.FormCreate(Sender: TObject); var Res : TResourceStream; begin Res := TResourceStream.Create(hInstance, 'MY_Cursor', Pchar('anicursor')); Res.SavetoFile('move.ani'); Res.Free; Screen.Cursors[CrNewCursor] := LoadCursorFromFile('move.ani'); DeleteFile('move.ani'); end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Cursor := CrNewCursor; end; end. outros http://www.mail-archive.com/delphi-br@yaho...r/msg00705.html Colocando cursores animados em arquivos de recursos {Criando o arquivo RC ANICUR RCDATA "c:\windows\cursors\appstart.ani" User o BRCC32.EXE para criar o arquivo CURSOR.RES Declare no form que for usar:} {$R CURSOR.RES} var CurRes : TResourceStream; begin CurRes := TResourceStream.Create(hInstance, 'ANICUR', RT_RCDATA); try CurRes.savetofile('tempcur.ani'); try Screen.Cursors[1] := LoadCursorFromFile('tempcur.ani'); Screen.Cursor := 1; finally DeleteFile('tempcur.ani'); end; finally CurRes.Free; end; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 -= NemesiS =- Postado Janeiro 7, 2009 Autor Denunciar Share Postado Janeiro 7, 2009 Ok.Vou dar uma olhada e testar alguns exemplos.posto aki depois os resultados.ValewsAbraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 António44 Postado Janeiro 7, 2009 Denunciar Share Postado Janeiro 7, 2009 (editado) Colega tem aqui uma dica de como usar seus cursores animados.unit UnitLogin; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls,db, Buttons, DBCtrls, yupack, RXCtrls, Mylabel, RxGrdCpt; const MythNo =1; //aqui você declara o cursor, ou os cursores...(só o nome dos cursor sem .ani ) type TFrmLogin = class(TForm) iblnome: TLabel; iblsenha: TLabel; EdSenha: TEdit; PnlMensagem1: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; EdNome: TComboBox; PnlMensagem: TLabel; Bevel1: TBevel; RxGradientCaption1: TRxGradientCaption; Image1: TImage; procedure BtnCancelarClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure EdNomeChange(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure EdSenhaKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } procedure CreateEdNomeList; end; var FrmLogin: TFrmLogin; implementation Para usar o cursor,meta ele no directório da Aplicação e use assim.;) procedure TFrmLogin.FormCreate(Sender: TObject); begin Screen.Cursors [MythNo] := LoadCursorFromFile ('MythNo.ani');//Aqui você chama o cursor ??? .ani. Screen.cursor:=MythNo; end;Espero que tenha ajudado você. :D Abraços Editado Janeiro 7, 2009 por António44 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
-= NemesiS =-
Olá pessoal do Script Brasil.
Gostaria de saber como faço pra trocar os cursores padrão do delphi, de uma vez só (sem ter que ficar declarando em todo form o novo cursor..)
tenho pronto os cursores que vou usar , um para cada situação , seta, maozinha, sql wait, ampulheta.., etc..
como posso declarar a substituição dos cursores padroes pelo meu de uma vez só, sem ter que declarar todas vez em todo o form.. ?????
Toda ajuda é bem vinda !
Valews pessoal.
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.