Esse artigo faz parte da revista Clube Delphi edição 7. Clique aqui para ler todos os artigos desta edição


Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

Coluna do Leitor

 

Traduzindo as Mensagens do Delphi

 

Caros amigos!

 

Não acredito que ninguém percebeu que o Delphi 5 traduz todas as mensagens!

 

O Delphi 5 já vem com a possibilidade de traduzir completamente todas as mensagens enviadas ao usuário:

 

Translation Manager

 

Em Project\Languages\Add

 

Selecione português. Salve o novo projeto traduzido. Abra a chave português brazilian, abra Resource Scripts.

 

Selecione o único arquivo desta chave, e traduza a coluna: Portuguese (Brazilian) (translated).

 

Mantenha estas mensagens entre tralhas Ex: “Impressão em progresso”

 

Traduza também na chave Forms: DBLOGDLG, DPWDLG, QRABOUT, QRCOMPED, QRENVED, QRPREV, QRPRGRES,

 

Alguns destes arquivos podem não constar no seu projeto. Dependendo dos componentes que você usou.

 

O projeto com a opção: Project\Build All Projects.

 

os: Faça a tradução após terminar todo o projeto. Você terá que copiar também para o diretório do executável um arquivo que ele cria (Executável). PTB.

 

Mais uma vez o Delphi facilitou nossa vida!

 

Espero ter ajudado!

 

William de Carvalgo

São Pedro da Aldeia, RJ

 

 

 

Uma dica enviada por Lúcio Torres, mostra como alterar o texto dos itens do menu de controle de uma janela.

 

Abaixo está o código que mostra como alterar o Menu de Controle de sua aplicação. Faça e veja o resultado!!!

 

Menu do Sistema Modificado

 

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

 

type

TForm1 = class (Tform)

    Label1: TLabel;

procedure FormCreate(Sender: Tobject);

procedure

FormMenuDoSistema(AformHandle:HWnd);

private

{ Private declarations}

public

{ Public declarations }

end;

 

var

Form1: Tform1;

 

implementation

 

{$R *.DFM}

 

procedure Tform1.FormMenuDoSistema

(AformHandle:HWnd);

const

STR_RESTORE = '*** Restaurar ***';

STR_MOVE = 'M_O_V_I_M_E_N_T_A_R';

STR_SIZE = ':::=> Redimensionar <=:::';

STR_MINIMIZE = 'minimize';

STR_MAXIMIZE = 'MAXIMIZE';

STR_CLOSE = 'Feche clicando aqui!!!';

var

MenuDoSistema : HMenu;

ItemDoMenu : TmenuItemInfo;

begin

MenuDoSistema :=GetSystemMenu

(AformHandle, FALSE);

 

FillChar(ItemDoMenu,SizeOf(TmenuItemInfo),#0);

ItemDoMenu.cbSize :=

SizeOf(TmenuItemInfo);

ItemDoMenu.fMask := MIIM_TYPE or MIIM_ID

or MIIM_STATE;

ItemDomenu.fType := MFT_STRING;

ItemDoMenu.wId := SC_CLOSE;

ItemDoMenu.dwTypeData := STR_CLOSE;

ItemDoMenu.cch := Length(STR_CLOSE);

SetMenuItemInfo(MenuDoSistema,SC_CLOSE,

FALSE,ItemDoMenu);

ItemDoMenu.wId := SC_MAXIMIZE;

ItemDoMenu.dwTypeData := STR_MAXIMIZE;

ItemDoMenu.cch := Length(STR_MAXIMIZE);

SetMenuItemInfo(MenuDoSistema,SC_MAXIMIZE,

FALSE, ItemDoMenu);

ItemDoMenu.wId := SC_MINIMIZE;

ItemDoMenu.dwTypeData := STR_MINIMIZE;

ItemDoMenu.cch := Length(STR_MINIMIZE);

SetMenuItemInfo(MenuDoSistema, SC_MINIMIZE,

FALSE,ItemDoMenu);

ItemDoMenu.wId :=SC_SIZE;

ItemDoMenu.dwTypeData := STR_SIZE;

ItemDoMenu.cch := Length(STR_SIZE);

SetMenuItemInfo(MenuDoSistema, SC_SIZE,

FALSE,ItemDoMenu);

ItemDoMenu.wId := SC_MOVE;

ItemDoMenu.dwTypeData :=STR_MOVE;

ItemDoMenu.cch := Length(STR_MOVE);

SetMenuItemInfo(MenuDoSistema,SC_MOVE,

FALSE,ItemDoMenu);

ItemDoMenu.wId := SC_RESTORE;

ItemDoMenu.dwTypeData := STR_RESTORE;

ItemDoMenu.cch := Length(STR_RESTORE);

SetMenuItemInfo(MenuDoSistema,SC_RESTORE,

FALSE, ItemDoMenu);

end;

 

procedure TForm1.FormCreate(Sender:

Tobject);

begin

FormMenuDoSistema(Handle);

end;

 

end.