またまたWindows Mobile 5.0の開発メモ。
今度は、SIP(Software Input Panel)の表示・非表示切替に合わせて、ダイアログのサイズを変更する方法です。
SDKのサンプルを見ながら実装してみたら、案外簡単にできました。
ちなみに、サンプルの位置はデフォルトのインストール位置であれば
"C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Samples\CPP\Win32\Handlesip"
にあります。
実際、MFCのダイアログに実装する場合はWM_SETTINGCHANGEイベントハンドラを作成し、
if ( SPI_SETSIPINFO == uFlags )
{
SHACTIVATEINFO sai;
memset( &sai, 0, sizeof( SHACTIVATEINFO ) );
SHHandleWMSettingChange( m_hWnd, -1, 0, &sai );
// ここでダイアログの再描画処理
}
というコードを入れてあげればOKそうです。
SHHandleWMSettingChangeのwParamに-1、lParamに0を渡すのが大事っぽい。
サンプル見ないと、絶対わからないよなぁ…(´・ω・`)
0 件のコメント:
コメントを投稿