Ver la Versión Completa : Ubicar un messagebox en pantalla
Ricardo León
23-09-2005, 18:42:06
Hola a todos...
Alguien sabe si es posible ubicar un messagebox en una posición especifica en la pantalla?
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.
//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.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.