![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MessageDlg на русский язык [D6, XP]
Polar © (2008-04-09 23:49:00)Можно ли в MessageDlg сделать так чтоб на выбор было не Yes или No, а по-русски Да или Нет
простой (2008-04-11 15:24:00) [1]
procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MessageBox('Вы весь нет перекопали?' + #13#10 +
'Хорошо рыли?', 'Вопрос', mb_IconQuestion + mb_YesNo + mb_DefButton2);
end;
azamatufa (2008-04-11 10:38:00) [2]Игорь Шевченко
просто супер!
спасибо!
kornekey:
исходники Висты пока еще не нашел, весь нет перерыл.. ;)
Игорь Шевченко (2008-04-10 18:51:00) [3]
> Можно ли в MessageDlg сделать так чтоб на выбор было не
> Yes или No, а по-русски Да или Нет
Можно.
with CreateMessageDialog ('Текст сообщения', mtConfirmation, [mbYes,mbNo], 0, mbYes) do
try
(FindComponent('Yes') as TButton).Caption:='Да';
(FindComponent('No') as TButton).Caption:='Нет';
Result := ShowModal;
finally
Free;
end;
korneley (2008-04-10 17:32:00) [4]
> clickmaker © (10.04.08 13:09) [13]
Вы, эта, поосторожнее... А то, человек, небось, уже исходники Висты ищет :) Типа, VCL - "Vista Consumption (&) Linking" ;)
azamatufa (2008-04-10 13:13:00) [5]нет... а как? )))
clickmaker (2008-04-10 13:09:00) [6]
> [12] azamatufa © (10.04.08 12:59)
что, и VCL перекомпилил?
azamatufa (2008-04-10 12:59:00) [7]Вот я внес изменения в Conts.pas, все 'Yes' переделал на 'Да'
эффекта нету ((
Помогите!!!
Kolan (2008-04-10 11:29:00) [8]
У меня аот тоже есть по сабжу кое что:
unit KSystemResourceStrings;
interface
const
OkID = 800;
CancelID = 801;
AbortID = 802;
RetryID = 803;
IgnoreID = 804;
YesID = 805;
NoID = 806;
CloseID = 807;
HelpID = 808;
TryAgainID = 809;
ContinueID = 810;
function LoadResourceString(AModuleName: string;
AnID: Cardinal): string;
function LoadUser32ResourceString(AnID: Cardinal): string;
function GetOkString: string;
function GetCancelString: string;
function GetAbortString: string;
function GetRetryString: string;
function GetIgnoreString: string;
function GetYesString: string;
function GetNoString: string;
function GetCloseString: string;
function GetHelpString: string;
function GetTryAgainString: string;
function GetContinueString: string;
implementation
uses
Windows,SysUtils;
var
OkS: string;
CancelS: string;
AbortS: string;
RetryS: string;
IgnoreS: string;
YesS: string;
NoS: string;
CloseS: string;
HelpS: string;
TryAgainS: string;
ContinueS: string;
function LoadResourceString(AModuleName: string;
AnID: Cardinal): string;
var
Buffer: array[0𠢇] of Char;
begin
Result := '';
LoadString(GetModuleHandle(PAnsiChar(AModuleName)), AnID, Buffer, SizeOf(Buffer));
Result := StrPas(Buffer);
end;
function LoadUser32ResourceString(AnID: Cardinal): string;
begin
Result := LoadResourceString('user32.dll', AnID);
end;
function GetOkString: string;
begin
Result := OkS;
end;
function GetCancelString: string;
begin
Result := CancelS;
end;
function GetAbortString: string;
begin
Result := AbortS;
end;
function GetRetryString: string;
begin
Result := RetryS;
end;
function GetIgnoreString: string;
begin
Result := IgnoreS;
end;
function GetYesString: string;
begin
Result := YesS;
end;
function GetNoString: string;
begin
Result := NoS;
end;
function GetCloseString: string;
begin
Result := CloseS;
end;
function GetHelpString: string;
begin
Result := HelpS;
end;
function GetTryAgainString: string;
begin
Result := TryAgainS;
end;
function GetContinueString: string;
begin
Result := ContinueS;
end;
initialization
OkS := LoadUser32ResourceString(OkID);
CancelS := LoadUser32ResourceString(CancelID);
AbortS := LoadUser32ResourceString(AbortID);
RetryS := LoadUser32ResourceString(RetryID);
IgnoreS := LoadUser32ResourceString(IgnoreID);
YesS := LoadUser32ResourceString(YesID);
NoS := LoadUser32ResourceString(NoID);
CloseS := LoadUser32ResourceString(CloseID);
HelpS := LoadUser32ResourceString(HelpID);
TryAgainS := LoadUser32ResourceString(TryAgainID);
ContinueS := LoadUser32ResourceString(ContinueID);
end.
Германн (2008-04-10 01:04:00) [9]
> korneley © (10.04.08 00:54) [8]
Ну да. Жестокая правда жизни.
korneley (2008-04-10 01:03:00) [10]А вот! Подарок (на День Космонавтики):
function MessageDlgR
(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint):word;
const
MsgTitle: array[mtWarning..mtConfirmation] of PChar =
('Предупреждение', 'Ошибка', 'Информация', 'Подтверждение');
MsgIcon : array[mtWarning..mtConfirmation] of integer =
(MB_ICONWARNING, MB_ICONERROR, MB_ICONINFORMATION, MB_ICONQUESTION);
var Flags : integer;
begin
if Buttons = [mbAbort, mbRetry, mbIgnore] then flags := MB_ABORTRETRYIGNORE else
if Buttons = [mbOk] then flags := MB_OK else
if Buttons = [mbOk, mbCancel] then flags := MB_OKCANCEL else
if Buttons = [mbRetry, mbCancel] then flags := MB_RETRYCANCEL else
if Buttons = [mbYes, mbNo] then flags := MB_YESNO else
if Buttons = [mbYes, mbNo, mbCancel] then flags := MB_YESNOCANCEL
else flags := 0
;
case Application.MessageBox(PChar(Msg), MsgTitle[DlgType], MsgIcon[DlgType] + Flags)of
IDOK :Result := mrOk;
IDCANCEL:Result := mrCancel;
IDABORT :Result := mrAbort;
IDRETRY :Result := mrRetry;
IDIGNORE:Result := mrIgnore;
IDYES :Result := mrYes;
IDNO :Result := mrNo;
else
Result := mrNone;
end;
end;
Остальное - напильником.
korneley (2008-04-10 00:54:00) [11]
> Германн © (10.04.08 00:42) [7]
Ну, дык, некоторые птицы и птенцов за борт выкидывают, чтобы те летать учились :)
Германн (2008-04-10 00:42:00) [12]
> korneley © (10.04.08 00:36) [6]
> Затем F1
Зачем же употреблять такую ненормативную для начинающих лексику, F1?
korneley (2008-04-10 00:36:00) [13]Эх... MessageBox (ручками). Затем F1 (пальцем). Затем "Delphi example" (мышью)
Polar (2008-04-10 00:18:00) [14]А можно маленький примерчик использования MessageBox
Какие там могут быть параметры.
Мне нужно 2 кнопки - Да и Нет
Amoeba (2008-04-10 00:07:00) [15]Можно! Русификация здесь:
http://polesoft.narod.ru/
korneley (2008-04-10 00:06:00) [16]http://compfaq.ru/Question.aspx?id=b66d95a5-c5a4-4708-8498-1cd4b5416ead
Anatoly Podgoretsky (2008-04-09 23:58:00) [17]> Polar (09.04.2008 23:49:00) [0]
MessageBox
easy (2008-04-09 23:54:00) [18]
>Polar(09.04.08 23:49) [0]
не поможет. они боятся диалогов с любыми кнопками..