2005-08-20-01-原因不明・放置決定
>> Site top >> weblog >> 月別アーカイブ >> 2005年08月のlog >> 2005-08-20-01-原因不明・放置決定
最終更新日付:2005/08/20 01:00:00
原因不明・放置決定
2005 年 08 月 20 日
現在作成中の5作目 Palmware では、線を2本描画する必要があった。対象の Form である MainForm に CFrame クラスのオブジェクトメンバを2つ用意する。
class MainForm : public CForm { //(略) private: CFrame m_frameLine1; CFrame m_frameLine2; };
で、frmOpenEvent イベントを処理する OnOpen() イベントハンドラで Horizontal なラインとして描画するわけだ。これは POL のリファレンスにあったサンプルそのままである。
Boolean MainForm::OnOpen( EventPtr pEvent, Boolean& bHandled ) { m_frameLine1.SetFrame( true, 1, 76, 158 ); m_frameLine2.SetFrame( true, 1, 96, 158 ); bHandled = false; return true; }
ところが。これが LowDensity 環境では描画されないのである。DoubleDensity 環境では描画されるのに。しかも、まったく同じ方法を mpuz でも採用していたのだが、何故かmpuz では描画される。
この問題はかれこれ2週間以上悩んでいたものだ。frmOpenEvent の POST_EVENT 処理に移動してみたり、基底クラス CForm からオーバーライドした仮想関数 OnDraw( ) 内で描画してみたり、いろいろ試してみたが全滅。唯一残された手は、CFrame を使わずに自前で描画することだ。でもなんとなく納得がいかないので、少なくとも当面の間は放置することを決定した。嗚呼。
コメント
このページのタグ
Page tag : Palm
Copyright(C) 2005-2021 project-enigma.
Generated by CL-PREFAB.