2007-07-11 [長年日記]

DeviceResolutionAware.h

Pocket PCでポートレイトとランドスケープを切り替えたときにダイアログリソースを入れ替えるのに便利な、DeviceResolutionAware.hのRelayoutDialogですが、動的にテキストを設定しているスタティックコントロールの値までダイアログリソースの値に戻してしまうのがいまいちでした。いちいちコードで値を設定しなおすのは不便なので、

--- DeviceResolutionAware.h.orig 2005-09-23 00:23:44.000000000 +0900
+++ DeviceResolutionAware.h 2007-07-11 11:41:08.354648500 +0900
@@ -894,7 +894,7 @@
                                        }
                                }
                        }
-                       else // lpData[0] is not 0xFFFF (it's text).
+                       else if(lpData[0]) // lpData[0] is not 0xFFFF (it's text).
                        {
                                ::SetDlgItemTextW(hDlg, lpDlgItem->id, (LPCTSTR)lpData);
                        }

のようなパッチを当ててリソーステンプレートで空文字列が指定されていたら値を設定しないようにしました。これで、少しは楽になるはず。

ところで、RDスタイルだと行頭の「---」が解釈されてうまくパッチが貼れませんね。

追記: 「--- <pre>」と((: :))を使って何とかできたっぽい…

[]

トップ «前の日記(2007-06-30) 最新 次の日記(2007-08-01)»