Форум: "KOL";
Текущий архив: 2011.08.07;
Скачать: [xml.tar.bz2];
ВнизГлюк с MsgBox,ShowMsg Найти похожие ветки
← →
<> (2009-03-03 14:12) [0]Глюк с MsgBox,ShowMsg
Вот код:
var T: Integer;
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
Timer1.Interval:=1000;
T := 0;
Form.Visible:=false;
end;
procedure TForm1.Timer1Timer(Sender: PObj);
begin
T := T+1;
IF T mod 2 =0 THEN
begin
Timer1.Enabled := false;
if (MsgBox("TEST",1) =1 ) then Form.Close;
Timer1.Enabled := true;
end;
beep(1000,100);
end;
Если програму запускать из среды Дельфи, то всё ок, а если запускать отдельно скомпилированный файл - то в случае если имеется какое-нибудь окно (окно любой программы) во фронте, то первый раз MsgBox появляется ЗА этим окном, а второй и следующие разы - появляется поверх остальных окон, т.е. как и должно быть. А если использовать ShowMsg, то он появляется всегда ЗА этим окном.
← →
Jon © (2009-03-03 14:53) [1]
ShowMsg("TEST",MB_OK or MB_ICONINFORMATION or MB_APPLMODAL or MB_SETFOREGROUND);
← →
<> (2009-03-03 15:00) [2]>ShowMsg("TEST",MB_OK or MB_ICONINFORMATION or MB_APPLMODAL or MB_SETFOREGROUND);
То же самое, появляется за окном которое на переднем плане.
← →
Дмитрий К © (2009-03-03 15:36) [3]MB_SYSTEMMODAL
← →
<> (2009-03-03 16:43) [4]> MB_SYSTEMMODAL
Да, это работает.
Ещё если перед вызовом MsgBox послать сообщение:SendMessage(GetDesktopWindow(), WM_SYSCOMMAND, SC_HOTKEY, form.Handle);
То всё ОК.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2011.08.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c