Главная страница
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.031 c
2-1178599022
rozik
2007-05-08 08:37
2007.05.27
CheckBox в StringGrid


2-1178525432
RomanLN
2007-05-07 12:10
2007.05.27
При переносе БД на другой комп, не находит алис


15-1177679014
SergeyLTD
2007-04-27 17:03
2007.05.27
Помогите, пожалуйста, с лабораторными работами


15-1177835989
SkySpeed
2007-04-29 12:39
2007.05.27
Проблема с IDE-SATA


15-1177575500
infom
2007-04-26 12:18
2007.05.27
Повернуть отрезок на определенный угол.