Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MessageBox в процедуре ScrollBar1Scroll


Ja ©   (2004-10-07 17:34:00) 

Использую Application.MessagBox(...) в обработке события OnScroll полосы прокрутки ScrollBar1, т.е.

procedure TForm1.ScrollBar1Scroll(Sender: TObject;
 ScrollCode: TScrollCode; var ScrollPos: Integer);
var m: integer;
begin
 if ButtonApply.Enabled then begin
    m:=Application.MessageBox('Save?','',MB_YESNOCANCEL);
    if m=6 then ButtonApply.Click;
 end;
 ................
end;

MessageBox появляется, нажимается на нем кнопка (независимо какая-да, нет, отмена), MessageBox исчезает и....опять открывается и дальше все идет так, как надо. Практическими путями   было определено ( :) ), что такой глюк происходит именно от того, что MessageBox используется именно в этой процедуре... как решить или обойти эту проблему?


Ja   (2004-10-07 17:45:00) [1]

Скроллом меняются картинки, которые могут быть изменены. И при пролистывании необходимо спрашивать, сохранить ли изменения...вот... Замечание вполне логично и целесообразно , но не в этом случае :) здесь же приведен только кусок кода...


Amoeba   (2004-10-07 17:40:00) [2]

А зачем вообще надо это делать?

P.S. Замечание по коду. Лучше писать так:
if Application.MessageBox('Save?','',MB_YESNOCANCEL) = 6 then
 ButtonApply.Click;


Наверх

Титульная страница Поиск, карта сайта Написать письмо