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

Вниз

Как запретить одновременный запуск нескольких копий окна???   Найти похожие ветки 

 
dimonf ©   (2003-05-30 19:54) [0]

Я создал диалоговое окно через функцию:
DialogBox(hInstance,"#501",hWnd, @DialogFunc);
Данную функцию я вызываю при нажатии по клавише enter.
1. Как мне запретить повторный запуск копии формы, если у меня еще она не закрыта???
2. Как мне сделать данную форму модальной, если она не закрыта то нельзя не на чего нажать, кроме кнопки выход?
Вообщем грубо говоря надо ее зделать модальной!!!


 
panov ©   (2003-05-30 21:07) [1]

Для проверку на существование окна можно осуществлять так же, как и для всего приложения. Например:

function isRunning(aUniqueString:String): Bool;
var
hMutex: THandle;
begin
Result := False;
hMutex := CreateMutex(nil,False,PChar(aUniqueString));
if GetLastError = ERROR_ALREADY_EXISTS then
begin
Result := True;
CloseHandle(hMutex);
end;
end;
...
if not isRunning("MyDialogBox") then MyFuncCreateDialogBox;


 
panov ©   (2003-05-30 21:10) [2]

Вернее, в коде создания окна должен быть вызов...


 
Suntechnic ©   (2003-05-30 21:12) [3]

2. Как мне сделать данную форму модальной, если она не закрыта то нельзя не на чего нажать, кроме кнопки выход?

А DialogBox по-твоему как окно отображает?

Из хелпа:
DialogBox macro creates a modal dialog box from a dialog box template resource.

В свете ответа на второй вопрос не понятен первый вопрос. Неужели ты это диалог позволяешь вызывать рекурсивно?



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
3-10080
Slap
2003-07-11 19:33
2003.08.04
PDOXUSRS.LCK. Permissin dinied


3-10115
abc
2003-07-14 10:50
2003.08.04
как не визуальными средствами создать вычисляемое поле?


11-10148
tamerlan311
2002-11-14 15:23
2003.08.04
KOL_HHC_Unit


1-10281
Beginner3000
2003-07-16 00:42
2003.08.04
Вопросы по строкам


1-10233
No
2003-07-21 09:51
2003.08.04
*.EXE файл