Форум: "Начинающим";
Текущий архив: 2007.05.27;
Скачать: [xml.tar.bz2];
ВнизВопрос по диалогу. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.063 c