なんとかここまできた・・か?

W-ZERO3用のメーラーがそれっぽくなってきた。

メイン画面
メイン.JPG
プレビュー画面
プレビュー.JPG
プレビュー後
プレビュー後.JPG
・一番右は
メールの状態
・タイトルは
使用中のメモリ量
(※デバッグ用)
添付ファイル名
の取得まではOK
既読になっている
・・・と一応ここまできた。

今のところ
複数アカウント巡回
・添付ファイル名取得
・一覧表示(&ファイル保存)
・同一メール受信回避
・未読−既読の変更
といったところか。

WinSockとTCPClientをいったり来たりしてクラスを何回も見直して、なんとかなったような、なってないような。

画面側の実装に取りかかった途端、Compact Framework特有の問題に直撃くらうし。
・TextBoxのOnPaintがオーバーロードできないっぽい
・TextBoxのReadOnlyをTrueにすると背景が灰色に。とりあえず回避方法見つからず。(↑の為?)
・の為に、プレビューでの本文表示に大苦戦。意地でも背景を白にしたかったので、
 TextChangeイベントで強制的に元の本文を再設定した。
 (もうヘッダー表示は灰色でいいや。。)
・LabelのAutoSizeがないので、自前で実装(またもTextChangeイベントで)
・Labelの背景色の設定に意味がない(「必ず」親の色を取るっぽい)
  設計画面では一時的に変わったように見えるんだけどねぇ。。
  できないなら選ばせんなよ(-_-メ)
Delphiだと気にしなかったリストの選択が
  Delphi
   ListBox.SelectedIndex = 2;
  C#
   lstMailList.Items[2].Selected = true;
   lstMailList.Items[2].Focused = true;
 と書かないと、表示上は選択されているのに(←ここがむかつく)
 移動した瞬間に一番上が選択状態になる。。(Win32では常識らしい)

とりあえず、次は送信処理か、設定画面の実装か。
あぁ、添付ファイルの保存考えねぇと。デコードする文字列保持しきれるかなぁ。。

振り分けまでできたら、QMAILの代わりに運用できるんだけど、今月中にできるかなぁ。。

こった作りはそれからですね(できればだけど)^^;
速度改善は絶対にしないと思うんだけど、いい方法が思い浮かばない。
MFCでチャレンジしようかと思ったがとりあえず後回し(で、やらないんだろうな)

後作ってて気になった点。
Delphiでは Integer型の変数に代入する場合にTextBox.Textは文字列型なので選択メニューに出てこなかったけど、C#では「ありったけ」出てくる。別にいいんだけど、結構面倒。
・慣れの問題なんだろうけど、ヘルプの「内容」が分かりづらい。説明読んでも「で?結局なにしてくれるの?」といった状態になる。
・ヘルプ(MSDN)がちょーーーーーーおそい。(4200+)でもだめですか、そうですか。
・Compact Framework、できないこと多すぎ。
  ListViewのオリジナルソートができない(自前実装は可みたい)
  ListViewでMultiSelectができない(結構痛い)
  Socketのタイムアウトが設定できない(これマジ怖い)
  等々等々等々・・・orz

WindowsMobile(CE含む)の開発情報自体決して多くはないので、情報探すのも一苦労。
んでも各掲示板には猛者がいるのですごいと思う。

そのうちこの開発で分かった点とかまとめられるといいんだけど。。