ペイン上にモードレスダイアログを表示したい – プログラミング – Home

ペイン上にモードレスダイアログを表示し...
 
通知
すべてクリア

ペイン上にモードレスダイアログを表示したい


ソウゴ
 ソウゴ
(@ソウゴ)
ゲスト
結合: 16年前
投稿: 2
Topic starter  

お世話になります。

現在SDIで画面を2分割している状態で
分割したView上にモードレスダイアログを表示させようとしています。

モードレスダイアログは表示できているのですが
View上とはかけ離れた場所に表示してしまっています。

View上に表示させるにはどのようにすれば宜しいでしょうか。
アドバイス宜しくお願い致します。

環境
VC++ 6.0
MFC


引用解決済
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

モードレスダイアログの表示の所のソースを提示した方が
良いのではないかと思います。
書かれている内容だけでは単にかけ離れているとしか
分からないのでアドバイスは難しいと思います。


返信引用
ソウゴ
 ソウゴ
(@ソウゴ)
ゲスト
結合: 16年前
投稿: 2
Topic starter  

PATIOさん>
了解です。
ソースを提示させて頂きます。

長いですが
ご了承下さい

○CWndMonitorCtrlクラス内での処理
【デスクトップ上のウィンドウを列挙してモードレスダイアログを作成しています。】

int CWndMonitorCtrl::WndDetection()
{
// HWND g_hwnd[MAX_NUM_ENUMWND]; // 格納する配列変数
EnumWindows(EnumWindowsProc,NULL);
return 0;
}

BOOL CALLBACK EnumWindowsProc(HWND hWindow,LPARAM lData)
{
【※ウィンドウの列挙する箇所は省略します】

CCommonLib CL;
CL.CreateWndThumbnail(hWindow,DDL.GetPointX(),DDL.GetPointY
(),DDL.GetWidth(),DDL.GetHeight());

}

return TRUE;
}

○CCommonLibクラス内での処理
モードレスダイアログを作成しています。

int CCommonLib::CreateWndThumbnail(HWND hWindow,int iPointX,int iPointY,int
iWidth,int iHeight)
{
HWND hWnd = GetSafeHwnd();

//ウィンドウサムネイル表示処理
WndThumbnailDlg *g_WndThumbnailDlg;
g_WndThumbnailDlg = NULL;
g_WndThumbnailDlg = new WndThumbnailDlg(this);

g_WndThumbnailDlg->Create(IDD_WNDTHUMBNAIL);
g_WndThumbnailDlg->MoveWindow
(iPointX/20,iPointY/20,iWidth/20,iHeight/20,false);

return TRUE;
}

宜しくお願い致します。


返信引用
maru
 maru
(@maru)
ゲスト
結合: 17年前
投稿: 358
 

> CL.CreateWndThumbnail(hWindow,DDL.GetPointX(),DDL.GetPointY
> (),DDL.GetWidth(),DDL.GetHeight());
DDL.GetXX()関数は何を返す仕様ですか?
実際に返ってきた値はその仕様通りですか?

> g_WndThumbnailDlg->MoveWindow
> (iPointX/20,iPointY/20,iWidth/20,iHeight/20,false);
/20は何の係数でしょうか?

ところで
> 分割したView上にモードレスダイアログを表示させようとしています。
とはモードレスダイアログをViewの位置に合わせて表示したいと言うことでしょうか?
その意図する所(目的)はなんでしょうか?個人的に興味があります。
よろしければ教えてください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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