自己紹介

低層をがむしゃらに走る自称プログラマ ちょっとWebとかに手を出してる

ブログ アーカイブ

2010年11月20日土曜日

MDIで使いたい

やりたい事

VB.netのMDIとやらで、
1Form内に、1つだけDXライブラリを利用したPreviewウィンドウを作りたいでゲソ。

で、実際ぶちぶち作ってるんだけど、色々と問題が発生しているでゲソ。

1.DxLib_Init()より前にMdiParentにFormを格納すると、DxLib_Initで落ちる
2.DxLib_Init()より後にMdiParentにFormを格納すると、動くが”描画されない”
3.MdiParentになにもしない場合(子にしなければ)正常に動く

  1. PreviewForm = New Preview()  
  2. PreviewForm.StartPosition = Windows.Forms.FormStartPosition.CenterParent  
  3. '============================================  
  4.   
  5. 'DXライブラリ関係  
  6. 'WindowModeに  
  7. DX.ChangeWindowMode(DX.TRUE)  
  8. DX.SetWindowText("Preview")  
  9. DX.SetUseDirectInputFlag(DX.FALSE)  
  10. DX.SetUserWindow(PreviewForm.Handle)  
  11.   
  12. 'PreviewForm.MdiParent = form ←ここでやると DX.DxLib_Init()で”プログラムが落ちる”  
  13.   
  14. '起動失敗でスルー  
  15. If -1 = DX.DxLib_Init() Then  
  16. MessageBox.Show("DxLib.DLL か DxLibDotNet.dll が作業フォルダに存在しません""error", MessageBoxButtons.OK)  
  17. Return  
  18. End If  
  19.   
  20. 'PreviewForm.MdiParent = form ←ここでやると実行時Formはあるが”描画ができない”  
  21.   
  22. DX.SetWindowSizeChangeEnableFlag(DX.TRUE)  
  23. DX.SetWindowSizeExtendRate(1.0)  
  24. DX.SetAlwaysRunFlag(DX.TRUE)  
  25. DX.SetMouseDispFlag(DX.TRUE)  
  26. DX.SetMultiThreadFlag(DX.TRUE)  
  27.   
  28. '============================================  

参った、何か手段はないものじゃなイカ……

0 件のコメント:

コメントを投稿