0
私は「映画」アイテムと「スナップショット」を持つ1つのTListBoxを持っています。両方のリストボックスに1つのポップアップメニューを使用したいと思います。しかし、popups menuitemのonClickイベントでは、どのリストボックスが使用されたかをどのように解決するのですか? DeleteAll1は、ポップアップメニューでTMenuItemある同じTPopupメニューを使用する2つのTListBox?
void __fastcall TMainForm::DeleteAll1Click(TObject *Sender)
{
TListBox* lb = dynamic_cast<TListBox*>(Sender);
if(lb == mMoviesLB)
{
...
:
は、私はこれを試してみました。void __fastcall TMainForm::DeleteAll1Click(TObject *Sender)
{
TListBox* lb = dynamic_cast<TListBox*>(PopupMenu1->PopupComponent);
...
}
TPopupMenu
が自動的に表示された場合(すなわち:右何かここに欠けているので、ポンドは
、 'Sender'は、リストボックスではありませんので、' dynamic_castを(送信者) 'リターン'NULL'。これはおそらくメニューです。 'ShowMessage(Sender-> ClassName());'のようなものを関数の先頭に追加して、それが何であるかを確認してください。 –
良いヒント、Sender-> ClassName().. Senderが実際にTMenuItemコンポーネントであることがわかりました。質問は自分自身をListBoxコンポーネントに戻す方法ですか? –