mfc-ml

2005年10月

28

[mfc 51591] RE: ダイアログのZ軸(Zオーダー)

 渋木です。

> 大元Aダイアログがあって、そこから
> 子ダイアログBを作成しています。
> そこで子ダイアログBからさらに子ダイアログを
> C,Dの順に作成します

 という「親子関係」がある以上

> CのダイアログがDのダイアログより上になるには
> どうしたらよいでしょうか?

 は無理です。

 すべてのダイアログをメインウィンドウ(あるいはダイアログA)の子とするので
は駄目なのでしょうか?

--
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
28

[mfc 51590] ダイアログのZ軸(Zオーダー)

ども。まこです。

現在ダイアログのZ軸で悩んでいます。

大元Aダイアログがあって、そこから
子ダイアログBを作成しています。
そこで子ダイアログBからさらに子ダイアログを
C,Dの順に作成します

この時点ではDのダイアログがCのダイアログの上にあります
このときにCのダイアログをクリックしアクティブにしても
Dのダイアログが上に表示されたままCのダイアログが
アクティブになってしまいます。

CのダイアログがDのダイアログより上になるには
どうしたらよいでしょうか?

自分で試してみたのは
WM_ACTIVATE がきたときに SetWindowPos() でwndTopをしているのですが
うまくいきませんでした。

こういう現象が出た時の対処法をご存知の方いましたら
よろしくお願いします。

・・・状況わかりにくいですかね??

//---------------------
開発環境
OS : Win2k or WinXp
Compiler : VC++6.0 
//---------------------


--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/
28

[mfc 51589] Re: アセンブラ

P-manです

 mov eax,xとmov eax,[x]とは同じことです。
どちらもxで指定される4バイトメモリの整数値をeaxに入力するという意味に
なります。eaxと[eax]とでは当然意味が違いますが...。C++上の変数をasmブロッ
ク内で参照するとこういう感じになるのは定義の問題です。デバックでトレース
するとよくわかりますよ。
27

[mfc 51588] アセンブラ

o cha です。
visualc6 で以下のようなインラインアセンブラを作ったときに

x,[x]は全く同じ意味になるようですが、どうしてなんでしょうか?

int x,a;
x=0;
a=1;
__asm{
mov eax,[x] ;
cmp eax,a ;
jnz b1 ;
xor eax,eax ;

jmp b2 ;
b1:
inc eax
b2:
mov x,eax ;
}
--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/
26

[mfc 51587] RE: [mfc 51586] スレッドの終了確認


 安藤@大分です。

> From: o...@ml.acty-net.ne.jp 
> [mailto:o...@ml.acty-net.ne.jp] On Behalf Of レイ ヴェン
> Sent: Wednesday, October 26, 2005 2:05 PM

> m_bAutoDelete データ メンバに FALSE を設定した場合に
> CWinThreadオブジェクトが削除されなくなってしまうと思います。
> どのようにしてCWinThreadオブジェクトを削除するのでしょうか

 私がいつも使っているパターンを。

--------------------------------------------------------------
CWinThread *pThread;
//スレッド登録
pThread = AfxBeginThread( Thread, 0, 0, CREATE_SUSPENDED );
pThread->m_bAutoDelete = FALSE;
if( pThread->ResumeThread() == 0xffffffff ) {
//スレッドResumeに失敗
} else {
//スレッドResume成功
//スレッド終了まで待つ
WaitForSingleObject( pThread->m_hThread, INFINITE );
}
//スレッドオブジェクトを削除
delete pThread;
--------------------------------------------------------------

 ご参考までに。

--
$ 安藤 幸治(ANDO Koji)
$ http://rc30.jp/
$ http://www.users.gr.jp/blogs/ando/ 
記事検索
Amazon.co.jp
  • ライブドアブログ