- PR -

Windowsアプリケーション上でIEと同じ動作をさせたい

1
投稿者投稿内容
amalia
会議室デビュー日: 2006/10/13
投稿数: 5
投稿日時: 2006-10-13 11:58
初めて投稿する初心者です。

現在VS2005、C#にて上記Windowsアプリケーションを作成しています。
フォーム上にはIEとほぼ同じMenustrip、combobox(アドレスを表示する為)、Webbrowserがあります。
MenuStripはスマートタグに表示される「標準項目の挿入」を使用しています。

お伺いしたいのは、IEにもあるメニューバーの「編集」→「切り取り」、「コピー」、「貼り付け」についてです。

1.MenuStripのスマートタグで「標準項目の挿入」をしてもそれぞれのボタンの動作内容は最初から用意されていないですよね?(そのままでは動作しないと思っているのですが、念のため確認です)
2.1が無理なら「切り取り」、「コピー」、「貼り付け」動作をClipboardクラスを使用して自分で書こうとしています。アドレスバーとして使っているComboboxのTextの一部を選択して(たとえばhttp://www.abc.co.jpの"abc"をマウスで選択状態にする)その選択状態にある文字列が何であるかをまずは取得⇒それをClipboardにSetする だと思いますが、現在表示しているTextの一部を選択状態にしてその文字列が何かを取得するようなメンバが無いように思います。どうすれば実現できますか。WebBrowser上の現在選択状態にあるデータを「コピー」したい場合も現在選択されているデータというのをどのように取得すればいいのでしょうか。

文章だらけになりわかりにくくてすみません。よろしくご教授願います。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-10-16 13:06
こんにちは。

引用:

amaliaさんの書き込み (2006-10-13 11:58) より:
WebBrowser上の現在選択状態にあるデータを「コピー」したい場合も現在選択されているデータというのをどのように取得すればいいのでしょうか。



他に返信がないようですので、わたくしが。
とりあえず、WebBrowserでのコピー方法だけですが。

#確認ですが、WebBrowserってCOMですよね?


ExecWBって使えませんか?

C#では使ったこと無いですが、昔開発したVC++(MFC)でのソースコードを載せておきます。

コード:
void CWebBrowserView::OnEditCopy() 
{
	ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DONTPROMPTUSER, NULL, NULL);
}
void CWebBrowserView::OnUpdateEditCopy(CCmdUI* pCmdUI) 
{
	OLECMDF cmdf = QueryStatusWB(OLECMDID_COPY);
	pCmdUI->Enable(cmdf & OLECMDF_ENABLED);
}



ご参考までに。
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-16 16:35
Tdnr_Symさんの書き込みをみて気づいたんですが、2番には二つ質問が含まれてたんですね。

別々だと後で分かりづらいので、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34188&forum=7
に纏めて回答します。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-10-16 23:48
こんばんは。

引用:

うにくまさんの書き込み (2006-10-16 16:35) より:
別々だと後で分かりづらいので、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34188&forum=7
に纏めて回答します。



おっと、二重投稿だったんですね。
気づきませんでした。OTL
1

スキルアップ/キャリアアップ(JOB@IT)