メーラー作成についてのアドバイスを求めています

このQ&Aのポイント
  • メーラー作成において、リッチエディットコントロールの使用の効果や、URLの扱い方についてのアドバイスを求めています。
  • 現在はテキストのみを表示するメーラーを作成していますが、リッチエディットコントロールを使った方が便利か疑問に感じています。
  • また、URLが記入された部分の扱い方についての参考資料やホームページを探しています。
回答を見る
  • ベストアンサー

メーラー作成

 この、教えてグーで、 いろいろ教えていただきながら、 メーラーを作っています。  いまは、テキストだけを受け取って 表示するつもりで、受信したメールを 表示するのに、CEdit を使っています。  リッチエディットコントロールを 使ったらもっと便利かとも思うのですが、 はっきりしません。  また、URLの記入された部分の扱い方が 分かりません。  次の2点に関して、 アドバイスをお願いいたします。 1.リッチエディットコントロールを使うと効果があるの   か? 2.URL が記入された部分の扱い方について、   参考になる本や、ホームページ 以上、よろしくお願いいたします。  開発は、マイクロソフトのVC++ 6.0 を使っています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.2

>> メール中に URL が記述されていた場合に, >> その部分の色を変えて表示したいというようなことでしょうか? > そうです。さらに、クリックすると別のところにつながる > 様な機能のことです。 URL は決まった構文になってますから, それに合致している部分をメール中から探し出して,色をつけとけばいいと思います。 色をつけるのは CRichEditCtrl のメンバ関数で出来ます。 URL を探し出すのは http: や mailto: など(スキーム)を探して, その後ろをチェックしとけば十分だと思います。 (正規表現でも使えばいろいろと応用が利くでしょうが) URL の厳密な構文は RFC で定義されています。 参考 URL からとどって下さい。

参考URL:
http://www.kanzaki.com/docs/html/htminfo-uri.html
uyama33
質問者

お礼

ありがとうございました。 おかげで、何とかなりそうです。 次のようにしてみます。 1.文章受け取ったら、1行ずつ解析して   必要なら色を付ける。 2.マウスでクリックしたときは、   その行を取り出し、文字の色を   調べて、色つきならURLに飛んでゆく。 とりあえず、こんなふうにしてみます。 今後とも、ご指導下さい。

その他の回答 (1)

noname#5537
noname#5537
回答No.1

> 1.リッチエディットコントロールを使うと効果があるのか? 通常のエディットコントロールの場合, 文字ごとに色を変えたり,フォントを変えたり出来ません。 また,Windows のバージョンによっては, 64KB までしかテキストを入力できません。 以上の問題を解決するために, リッチエディットコントロールを使うのは効果があります。 > 2.URL が記入された部分の扱い方について、 参考になる本や、ホームページ メール中に URL が記述されていた場合に, その部分の色を変えて表示したいというようなことでしょうか?

uyama33
質問者

お礼

ありがとうございます。 リッチエディットコントロール でやりなおしてみます。 メール中に URL が記述されていた場合に, その部分の色を変えて表示したいというようなことでしょうか? そうです。さらに、クリックすると別のところにつながる 様な機能のことです。

関連するQ&A

  • RichEdit

    メーラーを作っています。 今までは、 CEdit を使って文字を表示していたのですが、 いろいろあって、 リッチエディットコントロールに変えようと思っていますが、特に注意する点などがあれば 教えてください。

  • メーラー

    メーラーを作っています。 日本語でもテキストなら表示可能になりました。  しかし、 html の形式の図が入ったものは 余り上手く表示できません。 (テキスト形式なら表示できます。)  MFC VC++ 6.0 で 作っているのですが、 メーラー作成の経験のある方に、 CHtmlView を使うと、図の表示などが 上手くできるかどうかの 見通しについて 伺いたいと思っています。 できるようなら、サンプルを見ながら らやってみます。 よろしくお願いいたします。

  • エディットボックスのテキストが表示されないのはなぜですか

    VC++初心者です。 以下のソースでエディットボックスのテキストが表示されません。というか、最後のループの時のみ表示されますが、一回一回表示するにはどうしたらいいでしょうか? void CCRPTC_accessDlg::OnBnClickedOk() {  int i;  CEdit* myEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1);    ・    ・    ・  for (i=1;i<10;i++){   if (Ret != SUCCESS)   {    myEdit1->SetWindowText("NG!");   }   else   {    myEdit1->SetWindowText("OK!");   }  } }

  • visualC++での文法

    VisualC++を勉強しているのですがどうしても分からないので教えてください。例えばダイアログベースでのMFCプロジェクト test を作り、コントロールにプッシュボタンとエディットボックスを配置し、プッシュボタンのイベントハンドラに void CtestDlg::OnBnClickedButton1() { CEdit* Settext =(CEdit*)GetDlgItem(IDC_EDIT1); Settext -> SetWindowText("OKWEB"); } とすれば、プッシュボタンを押したときにエディットボックスにOKWEBと表示されますよね。 この場合のCEdit* Settext =(CEdit*)GetDlgItem(IDC_EDIT1); の(CEdit*)は何なのでしょうか?最初のCEdit* はSettextがCEdit*クラスを示すポインタになるのは理解できるのですが、(CEdit*)はオブジェクトでそれがGetDlgItemを使っているのでしょうか。それならば、(CEdit*).GetDlgItem(IDC_EDIT1) じゃないのでしょうか?それとも(CEdit*)はキャストか何かなのでしょうか? C++の勉強が足りないのは分かってるのですが、VisualC++の勉強と同時進行なのでどうも混乱しています。詳しい方どうかお願いします。

  • 一般的なメーラーを教えてください!

    こんにちは。 ある店舗のメルマガの発行をしている者です。 今までテキストで発行をしていたのですが、 表現豊かなHTMLに変更しようと考えています。 (もちろん、HTMLの送信の可・不可は問います) そこで質問です。 一般的な(有名どころの)メーラーをお教えいただけますでしょうか。 私はoutlook2007、window smailを使用しているのですが、 他のメーラーでHTMLを受信した時、どのように 表示されるか確認してみたいのです。 ご存じの方、どうぞよろしくお願いします。

  • VC++2010 ボタンなどのレイアウト大きさ変更

    VC++2010のMFCで現在開発しているんですが、 ボタン、スタティックテキスト、エディットボックスの文字の大きさを変更したいんですが どのようにすればいいかわかりません。よろしくお願いします。 またステータスバーに色を付けたいんですがどのようにすれば色を付けることができますか? よろしくお願いします。

  • 同じエディットボックスへのDrag&Drop(VC++/MFC)

    同じエディットボックスへのDrag&Drop(VC++/MFC) 同じエディットボックスへDrag&Dropすると テキストが消えてしまう現象に悩んでいます。 現在、 下記のサイト http://www.softist.com/programming/dandd/dandd.htm のサンプルプログラムを参考に コントロール間のDrag&Dropの仕方を学習しています。 このサンプルではエディットボックス間で文字列のコピーができるようになっていますが、 私がほしい機能は文字列の移動です。 そこで、サンプルのEditForDD.cppの DROPEFFECT DropEffect = OleDataSrc.DoDragDrop(DROPEFFECT_COPY); の下に、 if(DropEffect == DROPEFFECT_COPY) this->SetWindowTextA(""); という一文を加えて、Drag&Dropする際にDrag元のテキストを削除するようにしました。 その結果、異なるエディットボックス間での移動は可能になりましたが、 Drag元のエディットボックスにテキストを戻そうとすると テキストが消えてしまいまうようになってしまいました。 このように同じエディットボックスにDrag&Dropをしても テキストが消えないようにする方法をご存じの方はいらっしゃいませんでしょうか? なお、開発環境は以下の通りです。 開発環境:Visual Studio 2005 Standard Edition 利用言語:VC++/MFC OS:Windows XP よろしくお願いいたします。

  • テキストエリア装飾

    Windows用のソフトウェアでテキストエリアのようなもの を表示させたいのですが、フリーのテキストエディタには ソースコードのifやdefineなどの文字背景色を変更している ものがあるようです。 これらは、テキストエリアの場所の実体はエディット コントロールではないですよね? リッチエディットでも部分的な背景色の変更は無理ですよね? テキストエディタではどのような方法で部分的な背景色を 変更するのが一般的なのでしょうか?

  • ダイアログボックスからビットマップを選択後画像を消去したい

    visualstadioでVC++を使って、ビットマップ表示をしたいのですが、ピクチャーコントロールにsetbitmapを使って描画したのはいいのですが、消去ができません。 ダイアログボックスから画像を選択して、画像パスをエディットコントロールに表示します。表示されたパスから画像を表示しています。エディットコントロールのパスを消去すると、画像も消去したいのですが、消去できません。ネットを調べてもでてきません。 お願いします。

  • HTMLメールとテキストメールについて

    携帯のHTMLメールとテキストメールの切り替えについて。 受信した1通のメールの中に、テキスト部分とHTML部分の2つが存在しています。 HTML部分を表示したいのですが、テキスト部分が表示されます。 携帯のメーラーにも、パソコンのメーラーのように HTMLとテキストを切り替える機能はあるのでしょうか。 私の携帯DOCOMO P-05Bには見当たらないのですが。

専門家に質問してみよう