0

同じフォームに 2 つの IconListView が必要です。2 番目のリストビューを表示するための 2 番目のクラスを作成しましたが、2 番目のクラスで AddControl() を使用すると、「宣言されていない識別子エラー AddControl」が表示されます。AddControl() が Form クラスで使用されている場合、同じコードが機能しますが、私のアプリケーションでは、2 番目のクラス自体で AddControl() を使用する必要があります。使用できるようにするには、どのような変更を加える必要がありますか。

 __pIconListView = new IconListView();
 result r=__pIconListView->Construct(Rectangle(0,300, 600, 300),Dimension(200,200),      ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_HORIZONTAL);
 __pIconListView->SetItemProvider(*this);
 __pIconListView->AddIconListViewItemEventListener(*this);
 r=AddControl(__pIconListView);

コードにいくつかの変更を加えました。

上記のコードは 2 番目のクラスで指定され、AddControl() は有効であることを意味する赤い色になっています。しかし、コードを実行した直後に、実行が AddControl(__pIconListView) に達すると、プログラムがクラッシュします。ログには、「使用前にコンストラクトを呼び出す必要があります」と書かれています。しかし、上記の Construct() はエラーを発生させず、正常に動作します。ログを確認しました。では、このバグはどこから来ているのでしょうか。GetClientAreaBounds() もエラーになります。

4

1 に答える 1

0

初期クラス自体で AddControl(secondclassObject) を使用して解決策を見つけました。しかし、iconlistview に必要な画像が完全に取得されたかどうかを毎秒チェックするオーバーヘッドが発生します。

しかし、2 番目のクラスで AddControl() を使用する方法はまだ見つかりません。

于 2013-11-26T11:19:31.023 に答える