WKTVBDebugger の改造(2007_11)

exescopeで各ダイアログのサイズを確認



Dialog: 100


Dialog: 200


Dialog: 300


Dialog: 1000


Dialog: 2500


Dialog: 3000


Dialog: 4000


Dialog: 5000


Dialog: 6000


Dialog: 6400


Dialog: 6500


Dialog: 6550


Dialog: 6700


Dialog: 9000



exescopeで各ダイアログのフォントをMS Sans SerifからMSゴシックへ フォントサイズを8から12に変更(お好みで) オリジナルの表示とダイアログのフォントとサイズを変更した対比 @ 起動時 A Editボタンをおした時 B FormManager[Ctrl+F]ボタンをおした時 C AdvancedInfo[Ctrl+I}ボタンをおした時 D Loade Module Symbolsボタンをおした時 E String Refs.[Ctrl+S]ボタンをおした時 F API[Ctrl+B]ボタンをおした時 G Opcodes[Ctrl+O]ボタンをおした時 H On Execution[Ctrl+E]ボタンをおした時 I Class Managerボタンをおした時 J Analize BranchXボタンをおした時
ここで問題になるのは@、A、Jのダイアログでの表示サイズですね ではwd32asmを使い逆アセし表示するフォントを変更してみましょう ====================================================== 資料 ===================================================== HFONT CreateFontA( int nHeight, // 文字セルまたは文字の高さ int nWidth, // 平均文字幅 int nEscapement, // 文字送りの方向とX軸との角度 int nOrientation, // ベースラインとX軸との角度 int nWeight, // フォントの太さ DWORD fdwItalic, // イタリック体指定 DWORD fdwUnderline, // 下線付き指定 DWORD fdwStrikeOut, // 打ち消し線付き指定 DWORD fdwCharSet, // キャラクタセット DWORD fdwOutPrecision, // 出力精度 DWORD fdwClipPrecision, // クリッピングの精度 DWORD fdwQuality, // 出力品質 DWORD fdwPitchAndFamily, // ピッチとファミリ PCTSTR pszFaceName // フォント名 ); ================================================================================================================== J Analize BranchXボタンをおした時 // フォント名 10005D8C |> \68 88020510 PUSH WKTVBDE.10050288 ; /FaceName = "Lucida Console" |> \68 91670010 PUSH WKTVBDE.10006791 ; /FaceName = "悳\x0F\x84ホ\x02" // ピッチとファミリ 10005D91 |> 6A 05 PUSH 5 ; |PitchAndFamily = FIXED_PITCH|4|FF_DONTCARE |> 6A 00 PUSH 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE 10005D93 |. 6A 02 PUSH 2 ; |Quality = PROOF_QUALITY |. 6A 00 PUSH 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS 10005D97 |. 6A 06 PUSH 6 ; |OutputPrecision = OUT_RASTER_PRECIS 10005D99 |. 6A 01 PUSH 1 ; |CharSet = DEFAULT_CHARSET 10005D9B |. 6A 00 PUSH 0 ; |StrikeOut = FALSE 10005D9D |. 6A 00 PUSH 0 ; |Underline = FALSE 10005D9F |. 6A 00 PUSH 0 ; |Italic = FALSE 10005DA1 |. 68 90010000 PUSH 190 ; |Weight = FW_NORMAL 10005DA6 |. 6A 00 PUSH 0 ; |Orientation = 0 10005DA8 |. 6A 00 PUSH 0 ; |Escapement = 0 10005DAA |. 6A 00 PUSH 0 ; |Width = 0 // 文字セルまたは文字の高さ 10005DAC |. 6A 0A PUSH 0A ; |Height = A (10.) |. 6A F0 PUSH -10 ; |Height = FFFFFFF0 (-16.) 10005DAE |. FF15 24B00110 CALL DWORD PTR DS:[<&GDI32.CreateFontA>] ; \CreateFontA 変更結果 A Editボタンをおした時 * Possible StringData Ref from Data Obj ->"Terminal" | :10002CDD 6898FF0410 push 1004FF98 6891670010 push 10006791//MSゴシックに変更 :10002CE2 6A31 push 00000031 :10002CE4 6A01 push 00000001 :10002CE6 6A02 push 00000002 :10002CE8 6A01 push 00000001 * Possible Reference to Dialog: DialogID_00C8, CONTROL_ID:00FF, "" | :10002CEA 68FF000000 push 000000FF push 00000080 SHIFTJIS_CHARSET (シフトJIS文字セット) 128 :10002CEF 6A00 push 00000000 :10002CF1 6A00 push 00000000 :10002CF3 6A00 push 00000000 :10002CF5 6890010000 push 00000190 :10002CFA 6A00 push 00000000 :10002CFC 6A00 push 00000000 :10002CFE 6A00 push 00000000 :10002D00 6AF8 push FFFFFFF8 6AF0 push FFFFFFF0// 文字セルまたは文字の高さ 変更結果 @ 起動時(Stackの表示とP-Code source のリストボックスの表示) * Possible StringData Ref from Data Obj ->"Terminal" | :100067D7 6898FF0410 push 1004FF98 6891670010 push 10006791//MSゴシックに変更 :100067DC 6A31 push 00000031 :100067DE 6A01 push 00000001 :100067E0 6A02 push 00000002 :100067E2 6A01 push 00000001 * Possible Reference to Dialog: DialogID_00C8, CONTROL_ID:00FF, "" | :100067E4 68FF000000 push 000000FF push 00000080 SHIFTJIS_CHARSET (シフトJIS文字セット) 128 :100067E9 6A00 push 00000000 :100067EB 6A00 push 00000000 :100067ED 6A00 push 00000000 :100067EF 6890010000 push 00000190 :100067F4 6A00 push 00000000 :100067F6 6A00 push 00000000 :100067F8 6A00 push 00000000 :100067FA 6AF8 push FFFFFFF8 6AF0 push FFFFFFF0 文字セルまたは文字の高さ 変更結果 @ 起動時(P-Code source の表示) :10006805 6888020510 push 10050288 6891670010 push 10006791//MSゴシックに変更 :1000680A 6A31 push 00000031 :1000680C 6A01 push 00000001 :1000680E 6A02 push 00000002 :10006810 6A01 push 00000001 * Possible Reference to Dialog: DialogID_00C8, CONTROL_ID:00FF, "" | :10006812 68FF000000 push 000000FF push 00000080 SHIFTJIS_CHARSET (シフトJIS文字セット) 128 :10006817 6A00 push 00000000 :10006819 6A00 push 00000000 :1000681B 6A00 push 00000000 :1000681D 6890010000 push 00000190 :10006822 6A00 push 00000000 :10006824 6A00 push 00000000 :10006826 6A00 push 00000000 :10006828 6AF6 push FFFFFFF6 6AF0 push FFFFFFF0 文字セルまたは文字の高さ >ここ 変更結果 一瞬できたと思ったのでっすがよく見ると文字列の上と下が微妙に重なって表示してしまう このリストビューはオーナー描図しているので試しにexescopeでしないように変更してみたが ブレークポイントをマークするビットマップの表示するスペースが無くなってしまった 無能な私には解決策が見つけられず n さん の投稿でクリアー出来ましたm(_ _)m 【タイトル】untitled 【 名前 】n 【 日付 】2007/11/20 12:07:53 【 No  】6165 WM_MEASUREITEMのハンドラを置き換えればいいのでは? 10006954 |> \837D 10 65 cmp [arg.3], 65 たとえば 10006954 |> \837D 10 65 CMP [ARG.3],65 |> \837D 10 64 CMP [ARG.3],64 変更結果 お見事!!、後は各ダイアログのボタンやエディトボックス等のサイズや位置を調整して完了だと思います 未だフォントサイズが変わっていない部分があったとしても逆アセから"CreateFontA"を検索して 文字の高さ等を変更すればOKだと思います。
リソースをいじりだすときりが無い?んですが一部ポップアップメニューのサイズが小さい気がするんですが 解凍ぱす:rerere  
じゃ、まったねー(* ^ー゚)ノバイバイ