Уважаемые господа! Стоит такая несложная задача: имею наследника THintWindowExt = class (THintWindow), нужно показывать по определенному событию объект Хинт этого класса и проигрывать в это время звук. Во время показа Хинта пользователь может прервать показ Хинта и прослушивание музыки, кликнув по Хинту. Вроде бы все просто, делаю примерно так:
Код | ============ type THintWindowExt = class (THintWindow) private procedure Kill(Sender: TObject); public constructor Create(AOwner: TComponent); override; end; ============
constructor THintWindowExt.Create(AOwner: TComponent); begin inherited; Self.OnClick := SElf.Kill; // пробовал обрабатывать message WM_LBUTTONDOWN - та же проблема... end;
procedure THintWindowExt.Kill(Sender: TObject); begin // СЮДА СООБЩЕНИЕ НЕ ДОХОДИТ // Self.Color := clRed; Self.Hide; end; ==============
|
Но не работает. Что я делаю не так? Да, Хинт создается в рантайме так: hnt := THintWindowExt.Create(Form1); hnt.Parent := Form1; Вызывается к показу так: hnt.ActivateHint(rct, hnt.Text);
В справке написано, что при таком показе нужно убирать так: hnt.ReleaseHandle. Так и делаю. А нужно - по клику по нему мышкой. Спасибо.
|