又是EVC4.0两个关于对话框的问题
1.当我用主对话框创建一个线程后,比如让线程里再开启一个对话框以及AfxMessageBox,当子线程运行结束后我的主对话框竟然最小化了,这个是怎么搞的啊,我在VC6下试了下没这个问题
UINT ThreadProc(LPVOID param)
{
AfxMessageBox(_T("TEST"));
return 0;
}
void CThreadDlg::OnButton1()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
HWND hWnd = GetSafeHwnd();
AfxBeginThread(ThreadProc,NULL,THREAD_PRIORITY_NORMAL);
}
2.EVC里基于对话框的程序如何设置启动画面呢?
我在主对话框里的OnInitDlg里用了模式对话框后,当我按ESC键后主对话框和子对话框都没了。而在InitDlg中用了非模式对话框的时候关闭了子对话框后主对话框又最小化了,好象VC6里都没这些问题,请教改如何解决。主要是在EVC基于对话框的程序里做启动画面。
BOOL CJingmeiDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CenterWindow(GetDesktopWindow()); // center to the hpc screen
// TODO: Add extra initialization here
//隐藏任务栏
BOOL bFound = FALSE;
while(!bFound)
{
HWND hTaskBarWnd = ::FindWindow(_T("HHTaskBar"), NULL);
if( hTaskBarWnd )
{
bFound = TRUE;
::ShowWindow(hTaskBarWnd, SW_HIDE);
}
else
Sleep(100);
}
//主对话框全屏
int cx, cy;
HDC dc = ::GetDC(NULL);
cx = GetDeviceCaps(dc,HORZRES) +
GetSystemMetrics(SM_CXBORDER);
cy = GetDeviceCaps(dc,VERTRES) +
GetSystemMetrics(SM_CYBORDER);
::ReleaseDC(0,dc);
SetWindowLong(m_hWnd, GWL_STYLE,
GetWindowLong(m_hWnd, GWL_STYLE) &
(~(WS_CAPTION | WS_BORDER)));
::SetWindowPos(m_hWnd, HWND_TOPMOST,
-(GetSystemMetrics(SM_CXBORDER)+2),
-(GetSystemMetrics(SM_CYBORDER)+2),
cx+5,cy+5, SWP_NOZORDER);
//调用子对话框做启动画面
CMydlg *dlg = new CMydlg;
dlg->Create(IDD_DIALOG1);
dlg->ShowWindow(true);
return FALSE; // return TRUE unless you set the focus to a control
}
问题点数:40、回复次数:3Top
1 楼lijin7784(勇敢的心)回复于 2005-06-03 11:28:50 得分 20
呵呵,帮你顶下
Top
2 楼milozy1983(Detective)回复于 2005-06-03 12:38:57 得分 0
谢谢,第二个问题我解决了,第一个问题还没想到办法~Top
3 楼jjdzyj(jjdzyj)回复于 2005-06-03 16:45:27 得分 20
如果你用消息的方式与线程分离来显示对话框,应该是可以的Top
相关问题
- 请问在EVC下如何彻底的删除对话框和对话框类
- 两个对话框的相互关系
- 有关对话框的两个问题
- 如何让wince mediaplayer control能插入到evc的对话框中???
- 用evc开发的对话框程序怎么运行?
- ++++ 一个基本对话框工程,在主对话框中又显示一个非模式对话框,有几个小问题请教.
- 有两个对话框,要在现有的CFormView上删掉现有的对话框并显示另一个对话框,怎么做啊?
- 在一个非模式对话框中调用一个模式对话框,为什么要点两次确定才能关闭模式对话框?
- 有两个平级的对话框,请问如何在一个对话框的函数里得到另一个对话框的指针?
- 如何在主对话框隐藏鼠标?(而在子对话框又可以显示又怎么作?)




