listview(Control)のコピー

[戻る]
xxxxx 2018/07/15(日) 23:57:36
例えばコントロールをtabPage1に手動で作成して、それをソフトでtabPage2へコピーする
ことを勉強中です。listview以外のコントロール(
(label,textBox,ListBox,PictureBox,Button,など)はできるのですがListviewだけは「
「TopItem]の項目のコピー時にエラーとなります。解決策をどなたか教えて頂けないで
しょうか。
コピーは、InvokeMember,SetValue、GetValueを使っています。言語はVC++Express 2008です
です。

仲澤@失業者 2018/07/18(水) 17:12:45
「コントロールのコピー」とはそもそもどのような事を行っているのかが説明不足です。

単に同じ種類のコントロールを別ウインドウに作成して、コピー可能な変数やアイテムを
設定するだけなら、COMオブジェクトの出番はないと思うのですがどうなのでしょう。

xxxxx 2018/07/19(木) 08:25:25
仲澤@失業者殿

説明不足で申し訳ありません。が、「コピー」は「コピー」です。文章の通りであって、これ
これ以上の説明はありません。全く同じコントロール(textBox,ListView,picyureBoxなど
など)群を、全く同じ書式で不定数のWindow(今回の場合はTab)に配置してそこにそれぞ
れ記入表記することをやろうとしています。簡単な方法はその基本Window作成のクラスな
り、関数なりを作っておいて、それを必要回数呼び出せば済むことですが、勉強でもあり、簡単
、簡単そうで調べてもあまり載っていない「コントロールのコピー」という方法を試そう
としているだけです。現在はTextBox,Label,ListBoxなどの簡単な構造のものはできまし
たが二重構造的なListView(同様なコントロールが他にあるかどうかはわかりませんが・
・・)はうまくいっていません。

PATIO 2018/09/29(土) 21:30:59
多分、コピーと言われている処理内容をきちんと説明しないと
おそらくすぐに理解できる人はいないのではないかと思います。

コピー元のコントロールから必要な設定値を吸い上げて
同じ見た目のコントロールを生成することをコピーと呼んでいるのであれば、
そのように説明するべきです。
一般的な人は上記のような処理をコピーとは呼ばないと思いますので。

コピーと書いてしまうと一般的には同じものを複製するということになりますが、
プログラム的に同じ見た目であってもウインドウIDが異なれば、
別のコントロールとして扱うと思います。

プログラム的な意味でコピーというのではなくて
リソースエディタでダイアログのデザインをする時に
エディタの機能としてコントロールのコピーを行っているのと
同じような意味で言っているのであれば、
それはプログラム的な意味ではコピーとは呼ばないと思いますよ。
アプリケーションの機能としてはコピーと呼ぶでしょうけれど。

古いスレッドには追加発言できません。