Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Texto según el idioma del sistema (https://www.clubdelphi.com/foros/showthread.php?t=8765)

roman 01-04-2004 01:33:40

Texto según el idioma del sistema
 
Hola,

Cuando usamos Application.MessageBox el texto de los botones aparece según el idioma en que esté configurado el sistema.

¿Es posible obtener este texto directamente para poder colocarlo directamente en mis propios botones?

// Gracias

DarkByte 17-05-2004 21:48:57

Me parece que rulaba por ahí un componente que te permitía personalizar los mensajes al máximo, ¿TMessageBox?.

delphi.com.ar 17-05-2004 23:47:53

Simpre pensé que si esa información estuviera disponible, no existirían esas constantes en Delphi. Por el lado de la información local no hay nada de eso, , seguramente este texto pertenece a los recursos de algúno de los módulos del sistema, entonces podrías obtener el Handle de alguno de estos módulos hModule y enumerar sus recursos, yo he probado este vago código sin éxito:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  hMod: HMODULE;
  pText: PChar;
  i,
  iLen: Integer;
begin
  hMod := GetModuleHandle(PChar(Edit1.Text));
  if hMod = 0 Then
    Memo1.Clear
  else
  begin
    pText := StrAlloc(MAX_PATH);
    try
      for i := 0 to 65535 do
      begin
        iLen := LoadString(hMod, i, pText, MAX_PATH);
        if iLen > 0 Then
          Memo1.Lines.Add(IntToStr(i) + '> ' + String(pText));
      end;
    finally
      StrDispose(pText);
    end;
  end;
end;
Solo encotré un Aceptar en el recurso 4161 de las common controls, obviamente ese no es el que buscas.
Es solo una idea que pude llegar a servirte.

Saludos!

roman 18-05-2004 01:56:01

Hola delphi.com.ar,

Este hilo de hace casi dos meses lo tenía olvidado (de momento) hasta que DarkByte lo revivió. En efecto, lo que buscaba era algún módulo, dll, que tuviese dichos recursos. Deben existir, quiero creer, o ¿de dónde saca Windows la información?.

Cuando pregunté esto la idea que tenía era la de crearme mi propio MessageBox, "más bonito", pero que fuera similar al de Windows que se adapta al lenguaje del usuario y no como el de Delphi que sólo pone los textos en inglés.

Quizá buscándole como dices se pueda encontrar algo. Voy a repensarle al asunto.

// Gracias


La franja horaria es GMT +2. Ahora son las 05:02:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi