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

Вниз

Что было нажато: Да или Нет?   Найти похожие ветки 

 
Kripton   (2005-08-19 05:27) [0]

Привет вам, господа! У меня мизерная проблемка. Надо узнать, когда пользователь нажимает Да и когда Нет в диалоге удаления файла. Удаление происходи при нажатии на кнопку. Код такой:

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);

Безвозвратно. Как дописать программно: Было нажато Да?


 
alpet ©   (2005-08-19 07:05) [1]

Документацию надо читать.
SHFILEOPTSTRUC
.fAnyOperationsAborted
Value that receives TRUE if the user aborted any file operations before they were completed, or FALSE otherwise.


 
psa247 ©   (2005-08-20 12:47) [2]

Возможно ли задать фокус на кнопки Yes | No в MessageBox по умолчанию?


 
alpet ©   (2005-08-20 14:33) [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 15:06) [4]


> alpet ©

Хоть кривой, но работает.
Благодарю...


 
GuAV ©   (2005-08-20 15:41) [5]

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.



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

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

Наверх




Память: 0.48 MB
Время: 0.059 c
8-1117105281
Dadly
2005-05-26 15:01
2005.10.23
Как распознавать отсканированные отпечатки пальцев


2-1128240549
ABS
2005-10-02 12:09
2005.10.23
Опять параметры


4-1124372254
DID
2005-08-18 17:37
2005.10.23
Список устройств


1-1127921676
Still Swamp
2005-09-28 19:34
2005.10.23
CreateOleObject - как создать два объекта?


3-1126238326
DimonS
2005-09-09 07:58
2005.10.23
При записи кэшированных данных выдается ошибка: