![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что было нажато: Да или Нет? [D6, Win95/98, WinME, NT4, Win2k, WinXP]
Kripton © (2005-08-19 05:27:00)Привет вам, господа! У меня мизерная проблемка. Надо узнать, когда пользователь нажимает Да и когда Нет в диалоге удаления файла. Удаление происходи при нажатии на кнопку. Код такой:
From:='';
with Struct do
begin
Wnd := Handle;
wFunc := FO_DELETE;
for i:=0 to ListBox2.Items.Count-1 do
if ListBox2.Selected[i] then
From:=From+ListBox2.Items.Strings[i]+#0#0;
From := From+#0#0;
pFrom := PChar(From);
pTo := nil;
fFlags := 0;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
Err := SHFileOperation(Struct);
if Err <> S_OK then MessageDlg('ла-ла-ла',mtError,[mbOk],0);
Безвозвратно. Как дописать программно: Было нажато Да?
GuAV (2005-08-20 15:41:00) [1]psa247 © (20.08.05 12:47) [2]
Flag Meaning
MB_DEFBUTTON1 The first button is the default button. MB_DEFBUTTON1 is the default unless MB_DEFBUTTON2, MB_DEFBUTTON3, or MB_DEFBUTTON4 is specified.
MB_DEFBUTTON2 The second button is the default button.
MB_DEFBUTTON3 The third button is the default button.
MB_DEFBUTTON4 The fourth button is the default button.
psa247 (2005-08-20 15:06:00) [2]
> alpet ©
Хоть кривой, но работает.
Благодарю...
alpet (2005-08-20 14:33:00) [3]psa247 © (20.08.05 12:47) [2]
Предполагаю что можно, но только наверное из отдельного потока или по обработчику WM_TIMER для своей процедуры.
Вот кривой примерчик:
uses windows;
var bFocus: Boolean = False;
procedure TimerProc (hwnd, uMsg, idEvent, dwTime: dword); stdcall;
var h: THandle;
begin
if bFocus then exit;
h := FindWindow (nil, 'Message Caption');
if IsWindow (h) then
begin
h := GetDlgItem (h, IDNO);
if IsWindow (h) then
begin
SetFocus (h);
bFocus := true;
end;
end;
end;
begin
SetTimer (0, 0, 100, @TimerProc);
MessageBoxA (0, 'Message Text', 'Message Caption', MB_YESNO);
end.
psa247 (2005-08-20 12:47:00) [4]Возможно ли задать фокус на кнопки Yes | No в MessageBox по умолчанию?
alpet (2005-08-19 07:05:00) [5]Документацию надо читать.
SHFILEOPTSTRUC
.fAnyOperationsAborted
Value that receives TRUE if the user aborted any file operations before they were completed, or FALSE otherwise.