トップページ > Linux > 2018年02月14日 > PqyH/geG

書き込み順位&時間帯一覧

13 位/119 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000022



使用した名前一覧書き込んだスレッド一覧
login:Penguin
今夜も Wine で乾杯! - 20本目©2ch.net

書き込みレス一覧

今夜も 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 でちゃんと動作している
  ので、 理由は謎ではある。
今夜も Wine で乾杯! - 20本目©2ch.net
142 :login:Penguin[]:2018/02/14(水) 23:55:18.46 ID:PqyH/geG
6. TreeCtrl の TVN_KEYDOWN notification message が通知されてこないらしい。
  別に、これがなくても、MFC の MessageLoop の PreTranslateMessage() で
  キーボードメッセージを横取りしてしまえば対応は出来ないわけではないと思うが
  本物の Windowsで作った物が Wine では修正しないと動かないことにはなると
  思う。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。