!rabas
Čuven
- Učlanjen(a)
- 09.12.2003
- Poruke
- 630
- Poena
- 619
Dakle, hocu da prevedem jedan moj program na srpski (cirilica je u pitanju). Koristim TNT Unicode komponente umesto standardnih. Ali sada mi je frka oko prevodjenja ShowMessage i MessageDlg. Nasao sam funkciju negde na netu koja sluzi upravo za to i prepravio sam je tako da koristi procedure sa Wide stringovima iz TNT unita (Tnt Dialogs, cini mi se). Sada ona izgleda ovako:
E sve ovo lepo radi, prevede naslov MessageDlg, prevede poruku (sve lepo na cirilici) jedino sto nece nikako da prevede dugmice. Sada me zanima da li je moguce da se i to nekako uradi?
Kod:
function TMainForm.WideMessageDlgTranslated(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; DefaultButton: TMsgDlgBtn; HelpCtx: Longint = 0): TModalResult;
begin
with WideCreateMessageDialog(Msg, DlgType, Buttons) do {WideCreateMessageDialog je iz TntDialogs}
try
Position := poMainFormCenter;
case DlgType of
mtWarning: Caption := TntListBox1.Items[1];
mtError: Caption := TntListBox1.Items[2];
mtInformation: Caption := TntListBox1.Items[3];
mtConfirmation: Caption := TntListBox1.Items[4];
end;
with FindChildControl('Yes') as TButton do
begin
Caption := TntListBox1.Items[6];
if DefaultButton = mbYes then
TabOrder := 0;
end;
with FindChildControl('No') as TButton do
begin
Caption := TntListBox1.Items[7];
if DefaultButton = mbNo then
TabOrder := 0;
end;
with FindChildControl('Cancel') as TButton do
begin
Caption := TntListBox1.Items[8];
if DefaultButton = mbCancel then
TabOrder := 0;
end;
with FindChildControl('OK') as TButton do
begin
Caption := TntListBox1.Items[5];
if DefaultButton = mbOK then
TabOrder := 0;
end;
Result := ShowModal;
finally
Free;
end;
end;