class TFilterListBox: public TListBox // класс для корректного отображения listbox? котрый закрывается в случае потери фоккуса
{
__published: // IDE-managed Components
private: // User declarations
void __fastcall OnFocus(TMessage& a);
public: // User declarations
__fastcall TFilterListBox(TComponent* Owner);
protected:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_KILLFOCUS, TMessage, OnFocus)
END_MESSAGE_MAP(TListBox)
};
Карты сообщений
Пишу в р файле:
Код:
в cpp файле
Код:
void __fastcall TFilterListBox::OnFocus(TMessage& a)
{
TListBox::Dispatch(&a);
this->Visible=false;
}
//--------------------------------------------------------------------
__fastcall TFilterListBox::TFilterListBox(TComponent* Owner)
: TListBox(Owner)
{
}
{
TListBox::Dispatch(&a);
this->Visible=false;
}
//--------------------------------------------------------------------
__fastcall TFilterListBox::TFilterListBox(TComponent* Owner)
: TListBox(Owner)
{
}
Это сообщение работает только для клавиатуры а как быть для мыши. и как можно отследить клик вне окна, ведь после клика он ведь теряет фокус, но какое сообщение он получат в этом случае?????
Какие сообщения получает оконный элемент можно узнать, если запустить полезнейшую программу WinSight, имеющуюся в поставке Билдера. Программа показывает все оконные элементы, существующие на текущий момент в системе, включая списки, кнопки, окна и прочее. Для каждого элемента можно просматривать очередь сообщений. Весьма рекомендую воспользоваться.
Цитата:
Originally posted by fellow
Какие сообщения получает оконный элемент можно узнать, если запустить полезнейшую программу WinSight, имеющуюся в поставке Билдера. Программа показывает все оконные элементы, существующие на текущий момент в системе, включая списки, кнопки, окна и прочее. Для каждого элемента можно просматривать очередь сообщений. Весьма рекомендую воспользоваться.
Какие сообщения получает оконный элемент можно узнать, если запустить полезнейшую программу WinSight, имеющуюся в поставке Билдера. Программа показывает все оконные элементы, существующие на текущий момент в системе, включая списки, кнопки, окна и прочее. Для каждого элемента можно просматривать очередь сообщений. Весьма рекомендую воспользоваться.
Нужно попробывать!