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.