(2) В обычных формах никак. Только если писать собственный аналог функции Сообщить, в ней открывать свою форму и вручную обрабатывать нажатие в ней. В ЗУП 2.5 так сделано, например.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший