ダイアログのスタイル、ポップアップとオーバーラップの違い – プログラミング – Home

ダイアログのスタイル、ポップアップとオ...
 
通知
すべてクリア

[解決済] ダイアログのスタイル、ポップアップとオーバーラップの違い


Palmer
 Palmer
(@Palmer)
ゲスト
結合: 12年前
投稿: 5
Topic starter  

環境:Win XP、VC6.0SP6、MFC

EXEからDLL内のダイアログをモードレスで表示させていますが、
対象のモードレスダイアログのスタイルがポップアップの場合に
Alt+Enterを押すことでフリーズしてしまいます。

ダイアログのスタイルをオーバーラップに変更すると、
フリーズは発生しなくなりました。

ポップアップとオーバーラップの使い分け方を教えていただけないでしょうか。


引用未解決
トピックタグ
ロマ
 ロマ
(@ロマ)
ゲスト
結合: 18年前
投稿: 170
 

SDKでわたしの知っていることは、
・WS_POPUPだとGetParentがオーナーウィンドウのHWNDを返す
・WS_OVERLAPPEDだとGetParentはゼロを返す
です。

MFCは詳しくないのですが、ひょっとしたら
DLLからCWnd::GetParentを呼び出すと本物のCWndを返さないのかもしれません。


返信引用
ロマ
 ロマ
(@ロマ)
ゲスト
結合: 18年前
投稿: 170
 

連投すまんです。

Alt+Enterとは、メインフレームがアクティブなときにAltキーを押した状態でEnterキー
を押すということでしょうか、あるいは、Altキーを押し離し、直後にEnterキーを押す
ということでしょうか。
前者ならば対応するアクセラレータが登録されていると思います。
後者ならば、メニューバーの最も左側のメニュー項目を選択しポップアップメニューを
表示しようとしている状態を意味しています。


返信引用
Palmer
 Palmer
(@Palmer)
ゲスト
結合: 12年前
投稿: 5
Topic starter  

ロマさん、ありがとうございます。

Alt+Enterに関してはテキストコントロールで改行しようとして
Excelのようにキー入力して現象が発覚しました。

アクセラレータの登録はなかったのですが、
GetPartentは使用していなかったので、
とりあえずオーバーラップのスタイルで様子を見ることにします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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