- 今夜も Wine で乾杯! - 20本目©2ch.net
141 :login:Penguin[]:2018/02/14(水) 23:41:44.60 ID:PqyH/geG - UbuntuのWine上に英語版VC++をインストールしてWin用の自作プログラムをいじってみた。
なお、日本語版VC++はインストールして起動まではするが、ビルドができなかった。 英語版でもプログラムのビルドまでは可能だが、デバッガが起動出来ないらしかった。 自作プログラムをいじってみると、Wineには、色々不具合があることが分かってきた。 1. MSDNの仕様書通りだし、本物のWindowsでは動作確認できている方法なのに、 SetWindowPos() で、Z ORDER が 変わらないことがある。 2. Caretの動作が本物のWindowsとは異なるらしく、全く表示されなくなってしまうことが あった(試した自作プログラムでは、キャレットの大きさや出る出ないを微妙かつ複雑 に制御している。)。 3. WS_EX_LAYERED 属性を付けて、MDI CLIENT と MDIChildWnd の両方を透明色にした場合、 ちゃんと透明にはなるが、中の MDIChildWnd のタイトルバーをドラッグしようとすると、 とても遅くなる。WS_EX_LAYERED 属性を付けていても、透明色で塗らなかった場合は、 遅くならない。 4. DeferWindowPos() 系を使ってまとめて Window を移動してみても、とても遅い。 本物の Windows だと、この関数を使うと、四つの細長い棒状の Window で 四角い枠を作ってまとめて「ドラッグ」するような事が高速に出来るのだが、 Wineでは出来ないようだった。 5. 日本語 IME 関連が全く上手く行かなかった。まず、IMEはONにはなるが、所定 位置に出てくれない(本物の Windows では問題なく出てくれる)。 そして、IME で決定された日本語が、全くプログラムの方に伝達されてきてない ようだった。これについては、Wz エディタなどは Wine でちゃんと動作している ので、 理由は謎ではある。
|