Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ubicar un messagebox en pantalla (https://www.clubdelphi.com/foros/showthread.php?t=25482)

Ricardo León 23-09-2005 18:42:06

Ubicar un messagebox en pantalla
 
Hola a todos...

Alguien sabe si es posible ubicar un messagebox en una posición especifica en la pantalla?

dec 23-09-2005 23:08:31

Hola,

Tal vez podrías utilizar la función "MessageDlgPos" que se encuentra en la unidad "Dialogs".

fidel 26-09-2005 15:01:03

Hola:

Si que es posible, alguien de este foro hace algún tiempo me pasó esto y funciona.

Código Delphi [-]
//en la zona private pones esto

  private
    { Private declarations }
    //para situar mensajes con messagebox
    MsgTitle: String; // Título del mensaje
    MsgX, MsgY: Integer;  // Posición del mensaje
    procedure WMActivate(var Message: TWMActivate); message WM_ACTIVATE;
  public
    { Public declarations }
  end;


//añades este procedimiento

//para situar mensajes con messagebox
//TFGupos el el nombre del form, debes poner el tuyo
procedure TFGrupos.WMActivate(var Message: TWMActivate);
var
  Buffer: array[Byte] of Char;
begin
  inherited;
  if Message.Active = WA_INACTIVE then
  begin
    GetWindowText(Message.ActiveWindow, Buffer, SizeOf(Buffer));
    if (Buffer <> '') and (Buffer = MsgTitle) then
      SetWindowPos(Message.ActiveWindow,0,MsgX,MsgY,0,0,SWP_NOSIZE or SWP_NOZORDER);
  end;
end;


//y pones el mensaje

  //mensaje en la posición 450, 435 con título "Grupos"
  MsgTitle := 'Grupos';
  MsgX := 450;
  MsgY := 435;
  if Application.MessageBox('¿Borrar este grupo?',PChar(MsgTitle),mb_OkCancel+mb_IconQuestion)= IdOk then
    begin
      //....
    end;

Un saludo.


La franja horaria es GMT +2. Ahora son las 12:10:39.

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