2005-08-20-01-原因不明・放置決定 - project-enigma

2005-08-20-01-原因不明・放置決定

>> Site top >> weblog >> 月別アーカイブ >> 2005年08月のlog >> 2005-08-20-01-原因不明・放置決定

最終更新日付:2014/01/02 00: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-2017 project-enigma.
Generated by CL-PREFAB.