CFindReplaceDialogのエディットボックスにペーストするには? – プログラミング – Home

通知
すべてクリア

[解決済] CFindReplaceDialogのエディットボックスにペーストするには?


DAT
 DAT
(@DAT)
ゲスト
結合: 15年前
投稿: 10
Topic starter  

ダイアログアプリケーションで、CRichEditCtrlを使ったエディタのようなものを
作っています。
その中で、検索や置換を行おうと、CFindReplaceDialogを使うことにしました。
検索・置換それぞれを行うところまでは出来ています。

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

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

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

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


引用未解決
トピックタグ
bun
 bun
(@bun)
ゲスト
結合: 24年前
投稿: 761
 

動作確認結果です。

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

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

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


返信引用
DAT
 DAT
(@DAT)
ゲスト
結合: 15年前
投稿: 10
Topic starter  

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました