skin ou template ??

Delphi

06/07/2005

Como q faz pra usar um skin diferente no meu projeto? é em arkivo .skn, eu ja tenhu ele, e mais uma coisa, como q faz pra qnd minimizar ir pro systray?? vlws



Título alterado por oTTo. Removido: ´´urgente´


Renatobohler

Renatobohler

Curtidas 0

Respostas

Edineidaniel

Edineidaniel

06/07/2005

Renato,

Também esta com esse problema de colocar a aplicação no SysTray..

Tive que instalar um componente da palete RXLib (rxSysTray) que coloca um icone na Systray ai é só colocar o visible do form principal para false..

Att,
Edinei


GOSTEI 0
Renatobohler

Renatobohler

06/07/2005

mas e qnt ao skin?? ninguem sabe?
eu peguei aquele aplicativo q tem no site, mas la tem uns negocio assim:
ss := string;
ss := ´c:\mxskin21.skn´;

eu tento coloca isso, mas nao funfa d jeito nenhum


GOSTEI 0
Adriano Santos

Adriano Santos

06/07/2005

Procure pela biblioteca de compoentes VclSkin, é muito boa.
E quanto ao esquema do aplicativo na bandeja, tem um esquema que manda pra bandeja sem precisar de componente...é meio embaçado porque tem que fazer no braço...vou ver se acho o exemplo aqui nos meus fontes e mando a unit completa.

FALOW


GOSTEI 0
Adriano Santos

Adriano Santos

06/07/2005

Bom galera, achei o esquema aqui.

Não me façam muitas perguntas, pois o fonte aqui é ctrl+c e ctrl+v. :D

Você precisa declarar na uses do form a unit ShellApi e uma constante. Normalmente eu declaro minhas constantes logo abaixo do uses, mas fica a critério de cada um. Vejam.

const
  wm_IconMessage = wm_User;


Mais uma variável publica

NID : TNotifyIconData; // <- esta linha


No onCreate do Form vai todo o segredo para mandar para o Tray:

procedure TForm1.FormCreate(Sender: TObject);
begin
  nid.cbSize := sizeof(nid); // define o tamanho de Nid
  nid.wnd := Handle; // define que Nid pertence ao Form1.Handle
  nid.uID := 1; // código do ícone
  nid.uCallBAckMessage := wm_IconMessage;
  nid.hIcon := Form1.Icon.Handle; // define que o ícone a ser mostrado é o do Form1
  // obs.: quando se trata de uma propriedade do form em que estamos

  // trabalhando, podemos omitir o nome dele, por exemplo:
  // nid.hIcon := Icon.Handle; -> sem "Form1.", também está correto.
  nid.szTip := ´Exemplo de TrayIcon´+#13+´Teste segunda Linha´+13+´Que tal mais uma linha?´;
  // define o tamanho do Hint
  nid.uFlags := nif_Message or nif_Icon or nif_Tip; // especifica o que será modificado
  Shell_NotifyIcon (NIM_ADD, @nid); // envia mensagem ao Windows para atualizar o TrayIcon
end;


E depois para sair do Tray, coloque a instrução a seguir no onClose ou onDestroy do form.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  nid.uFlags := 0;
  Shell_NotifyIcon (NIM_DELETE, @nid);
end;



É isso ai galera. Com isso seria possível até criar um componente falai?
Eu tenho o exemplo aqui, se alguém se interessar me manda email que eu envio, mas do jeito que está aqui funciona.

adriano@doiscliques.com


GOSTEI 0
POSTAR