Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

Вопрос по диалогу.   Найти похожие ветки 

 
Regent ©   (2007-05-08 18:08) [0]

Как выровнять Application.MessageBox по центру главной формы???


 
Правильный Вася   (2007-05-08 18:31) [1]

http://delphimaster.net/view/2-1178548742/


 
clickmaker ©   (2007-05-08 18:39) [2]

MessageBox(MainForm.Handle, ...


 
{RASkov} ©   (2007-05-08 18:48) [3]

> [0] Regent ©   (08.05.07 18:08)

var X, Y: Integer;
begin
X:=Left; Y:=Top;
Position:=poScreenCenter;
MessageBox([<MainForm>.]Handle, "MessageDlgPos", "или", 0);
Left:=X; Top:=Y;
end;
Прикол в том, что нечего создавать ветки каждый день с одним и тем же вопросом.


 
begin...end ©   (2007-05-08 19:02) [4]

> Regent ©   (08.05.07 18:08)

Считайте, что никак. Вернее, способ есть (и даже несколько), но городить столько кода для решения такой задачи несерьёзно -- как говорится, овчинка выделки не стоит. Лучше уж какой-нибудь MessageDlgPos использовать...


 
Rial ©   (2007-05-08 19:02) [5]

Свою форму создай и кинь пару кнопок на нее.
Выйдет быстрее, чем ждать часами ответа :)


 
easy ©   (2007-05-08 19:16) [6]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

const
WM_MSGBOX  = WM_USER + 1001;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
   procedure msgBoxShow(var msg: TMessage); message WM_MSGBOX;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 MessageBox(handle, "This Is A Not Centered Message Box", "MessageBox.",
        MB_OK or MB_ICONQUESTION);
 PostMessage(handle, WM_MSGBOX, 0, 0);
 MessageBox(handle, "This Is A Centered Message Box", "MessageBox.",
        MB_OK or MB_ICONINFORMATION);
end;

procedure TForm1.msgBoxShow(var msg: TMessage);
var
msgbHandle: HWND;
R:TRect;
mbw,mbh:integer;
begin
msgbHandle := GetActiveWindow;
if msgbHandle <> 0 then begin
  GetWindowRect(msgbHandle, R);
  mbw:=R.Right-R.Left;
  mbh:=R.Bottom-R.Top;
  MoveWindow(msgbHandle,left+width div 2-mbw div 2,
              top+height div 2-mbh div 2,mbw,mbh,true);
end;
end;

end.


 
begin...end ©   (2007-05-08 19:29) [7]

Мда. Похоже, точки зрения [4] придерживаются не все...
;-)


 
{RASkov} ©   (2007-05-08 19:35) [8]

> [6] easy ©   (08.05.07 19:16)

Интересный пример, прям какой-то "Назад в будущее". Красочная иллюстрация PostMessages. :)



Страницы: 1 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1174929830
Express
2007-03-26 21:23
2007.05.27
Как программно закрыть 1С:Предприятие?


3-1173274618
Mr. D.
2007-03-07 16:36
2007.05.27
Ведение логов изменения некоторой величины


4-1167066457
kan
2006-12-25 20:07
2007.05.27
usart


6-1163764022
mrvik
2006-11-17 14:47
2007.05.27
Как считать с UDP структуру в соответствии с её описанием


11-1160053393
Thaddy
2006-10-05 17:03
2007.05.27
New kol website