他ウィンドウの制御について – プログラミング – Home

他ウィンドウの制御について
 
通知
すべてクリア

[解決済] 他ウィンドウの制御について


おばば
 おばば
(@おばば)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

vc6.0でXPのアクセサリにあるスクリーンキーボードみたいなものを作成しているのですが、
別ウィンドウからスクリーンキーボードのボタンやボタンでないところをクリックされると
別ウィンドウはアクティブのままになっています。
いろいろ調べていると、WM_NCACTIVATEで制御できるようなことが書かれていたので、
下記のようにしてみました。

LRESULT CSoftKeyDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message){
case WM_NCACTIVATE:

      if(wParam == TRUE){
      ::SendMessage(active,WM_NCACTIVATE,1,0);
       return FALSE;
}
break;
}
}

しかしながら、ここにくる以前にアクティブではなくなっているようでしたが、
これだけでは不十分でしょうか?
ご存知の方お願いします。


引用未解決
トピックタグ
三草
 三草
(@三草)
ゲスト
結合: 19年前
投稿: 56
 

> 別ウィンドウからスクリーンキーボードのボタンやボタンでないところを
> クリックされると別ウィンドウはアクティブのままになっています。

スクリーンキーボードのような動作であれば、それでよいのでは?


返信引用
おばば
 おばば
(@おばば)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

早速の回答ありがとうございます。

WM_NCACTIVATEの処理は入れているのですが、一度アクティブになっているウィンドウが非アク
ティブになってしまいます。

スクリーンキーボードではそのような動きにはなっていませんでした。
スパイでアクティブウィンドウのメッセージをみたのですが、スクリーンキーボードをさわった
瞬間はなにもメッセージがでていませんでした。(WM_NCACTIVATEがでると思ったのですが)

スクリーンキーボードは親ウィンドウをアクティブウィンドウにでもしているのでしょうか?
ご存知でしたらお願いします。


返信引用
三草
 三草
(@三草)
ゲスト
結合: 19年前
投稿: 56
 

うーん、現象がイメージできないのですが、
こちらは参考になりますか?
http://forums.belution.com/ja/vc/000/136/56s.shtml


返信引用
おばば
 おばば
(@おばば)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

どうもありがとうございます。まさにその現象でした。
紹介して頂いたアドレスを参考にさせて頂きます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました