CFindReplaceDialogのエディットボックスにペーストするには?

[戻る]
DAT 2009/09/15(火) 11:42:51
ダイアログアプリケーションで、CRichEditCtrlを使ったエディタのようなものを
作っています。
その中で、検索や置換を行おうと、CFindReplaceDialogを使うことにしました。
検索・置換それぞれを行うところまでは出来ています。

検索ダイアログが出来たので、CTRL+Vを使って検索ダイアログにクリップボードの
文字列をペーストしようと試みたのですが、CFindReplaceDialogに検索文字列の
エディットボックスのメンバが見つからず、ここに書き込むに至りました。

notepad.exe(メモ帳)では検索ダイアログを表示し、それがアクティブの時に
CTRL+Vすると検索ダイアログのエディットボックスにペーストされるので、
やり方はある気はするのですが、当方の探し方が悪いのか、見つかりませんでした。

CFindReplaceDialogの宣言を見てみると、protectedメンバにm_szFindWhatという
文字列変数があったので、CFindReplaceDialogを派生させたクラスを作り、
ペースト時にその変数へコピーしてみたものの何の変化もありませんでした。

的確な設定の方法等、ご存知の方がいらっしゃいましたらご教示願えませんでしょうか。

bun 2009/09/16(水) 10:25:36
動作確認結果です。

ダイアログアプリケーションを新規作成し、
ダイアログクラスに、
  CFindReplaceDialog* m_lpFindReplaceDlg;
の宣言を追加。

そして、OnInitDialog()に以下の2行を追加
  m_lpFindReplaceDlg = new CFindReplaceDialog;
  m_lpFindReplaceDlg->Create(TRUE, _T("Test"));

この状態で、CTRL+Vにて貼り付けが正常動作しました(^-^)

DAT 2009/09/16(水) 17:46:11
[[解決]]
同じようにテストプログラムを作成してみましたところ、確かに動作を確認しました。
ちょっと別の部分でおかしいことがこれで判りました。ありがとう御座います。
何で私が作ったものが動かないのかは別として、一先ずこれで解決とさせていただき
ます。

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