Tensorの日記 RSSフィード Twitter

2008-09-04

リッチテキストボックスに泣かされる 18:22 リッチテキストボックスに泣かされるを含むブックマーク

顧客に作っているアプリケーションで、帳票に出力される内容(テキスト)を入力するのに、リッチテキストボックス(RichTextBox)を使用しています。結構な長文(契約の但し書きみたいな文章)を入力するとのことなので、普通テキストボックスよりはいいだろう、テキストエディタ的だろう、ということでリッチテキストボックスにしたのですが・・・

あるとき、お客さんより担当SEに連絡がありました。

入力した文章が、帳票に印刷されると表示が変わっている!」ということでした。要するに、リッチテキストボックスにたくさん文章を入力したんだけど、それを帳票で印刷してみると、自分が(お客さん)が入力した"とおり"に表示されていない、ということでした。

帳票にはクリスタルレポートを使用しています。

これに対応することになったので、

  1. リッチテキストボックスクリスタルレポートフォントプロポーショナルじゃないフォントにする。
  2. リッチテキストボックス入力できる1行の文字数と、クリスタルレポートの1行の文字数を同じにする。

という対応をしました。これで大丈夫だと思っていました。

ですが、テストをやっていた担当SEが「なんか、前に入力した文字列データベースから引っ張ってきて表示させた文字列)と、新しく入力した文字のフォントが"微妙"に違うんですけど・・・」と言ってきました。しかもそのせいで、リッチテキストボックスで1行に入力できる文字数と、クリスタルレポートで表示する1行の文字数が変わってきてると・・・。でも、リッチテキストボックスフォント設定は正しいよなあ・・・、なんでだろう・・・、というか、なんだこれ!? もしかしてMSバグですか?!

・・・と、バグであっても何とかしないといけないので、いろいろ調査しているとこんなのが見つかりました。

RichTextBox.LanguageOption プロパティ

「何だ、このプロパティ?」と思いながら、さらに調べてみると、

全ては時の中に… : 【VB.NET】リッチテキストのフォントが勝手に変更されるのを抑制する

なに!勝手フォントが変わるだと!上記ブログを参考にプログラムを直してみるとビンゴでした。えー、なんで勝手フォントを変えるんだよー。実はWordにもこんな機能(?)があるんだとか。

これで今日一日泣かされました。

たまたま 2008/09/06 08:50 そんなときは呟くのです。
「勝手にフォントが変わるだって!! そう、それはMSクオリティー」
最近はネットとか漁ると、同じ目にあった人にであうこと多いから助かりますが。

トラックバック - http://d.hatena.ne.jp/Tensor/20080904/1220606573
日記の検索

Tensorさんの読書メーター Tensorさんの読書メーター Tensorの今読んでる本 Tensorの最近読んだ本 Tensorさんの鑑賞メーター Tensorさんの鑑賞メーター Tensorの最近観たビデオ