カレンダー

10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

カテゴリー

プロフィール

drednote(Mr.Ty)

Author:drednote(Mr.Ty)
既にいい年しているにも関わらずエロゲをプレイしているヤバイおっさんです。きっと還暦になってもプレイしてそうな気がする。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

この人とブロともになる

主にエロゲのプレイ日記。他レビューっぽい事とか色々
エロゲプレイ記
  当サイト内記事にはゲームのネタバレが含まれる場合があります。
  ネタバレをみたくない方は、当サイトの閲覧をご遠慮願いますようお願い致します。
  また、当サイトの記事自体は全年齢対象ですが、
  扱っている評価物は基本的に18歳未満プレイ禁止の物が殆どですのでご注意願います。
[------]
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--------(--) --:-- スポンサー広告 | 編集 |
[20090807]
並んでいるオブジェクトを範囲選択する為にラバーバンドを実装する事になって、エクスプローラーみたいな中が青いラバーバンドを簡単に作ってみたかったのでレイヤーウィンドウを使って実装してみた。
思った通り、意外と簡単に見た目の良いラバーバンド効果が実装できたんだけど、問題点が1つあった。
ラバーバンドをウィンドウで実装しているせいで、ラバーバンドが出ている時にはアプリケーションのウィンドウが非アクティブになってしまうのだw
これってEnableWindowでラバーバンドウィンドウをDisableにしてやれば問題無くなったりしないかなぁ?
まぁ、ラバーバンドが終わればアクティブに戻るのでそれ程の問題でもないんだけど、見た目がね。
ちなみにWS_CHILDをつければいいじゃんというのは無い。
何故ならチャイルド属性を持ったレイヤーウィンドウというのはどうやら作れないっぽいから。
WS_EX_LAYERDを指定している時にWS_CHILDを指定するとCreateWindowExはNULLを返す。
GetLastErrorをとってもエラーらしきエラーコードは返さない(操作は正常に終了した、になる)
スポンサーサイト

□ WM_NCACTIVATEなど by とおりすがり

解決済みだったらすいません。

WM_NCACTIVATEのハンドラを実装して、デフォルトウィンドウプロシージャに渡さないようにすれば、タイトルバーが薄くならずにすみます。
(実際は非アクティブになっているが、見た目だけアクティブに)

なんていう案はどうでしょうか。

2010-09-26(Sun) 17:09 | URL | #- [ 編集 ]
□ Re: WM_NCACTIVATEなど by drednote(Mr.Ty)

NCACTIVATEのデフォルト処理が何やっているのか知らないのでwちょっと怖くてそれは避けました。
まぁ結局薄くなったままで実装しちゃいました。それ以外は特に問題無かったので。
(但しZオーダーに気をつけないと、自身のモードレスダイアログの上にまでレイヤードウィンドウのラバーバンドが出てしまうのでちょっと細工はしましたが。あと、ウィンドウの外にまでラバーバンドが出てはいけないのでサイズ制限なんかもきっちり実装する必要もありますが)
ありがとうございました。

2010-11-13(Sat) 08:29 | URL | #- [ 編集 ]

管理者にだけ表示を許可する
Top
http://drednote.blog92.fc2.com/tb.php/142-1a195732
HOME
copyright © 2005 drednote(Mr.Ty) all rights reserved.

Template By innerlife02

RSS1.0 ,
RSSフィード

応援バナー

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。