Главная страница
    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.45 MB
Время: 0.03 c
14-1128246212
NNN
2005-10-02 13:43
2005.10.23
Файлы


11-1109056582
Сергей Близнюков
2005-02-22 10:16
2005.10.23
Ошибка TBitmap.LoadFromResource в Win98 Версия KOL >=2.04


14-1128094551
Копир
2005-09-30 19:35
2005.10.23
Две пятничных задачи по эстетике.


3-1126606350
Aliv
2005-09-13 14:12
2005.10.23
работа с базой paradox через сеть


4-1124482768
ronyn
2005-08-20 00:19
2005.10.23
Label и шрифты по-русски...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский