⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_20069.htm

📁 一些关于vc的问答
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<p>
序号:20069 发表者:萧马 发表日期:2002-11-02 21:46:04
<br>主题:各位高手,请帮个忙!
<br>内容:如何让弹出对话框自动填充整个客户区,而且不能移动?<BR>这个问题郁闷了很长时间,希望各位高手不吝赐教!拜托。<BR>在线等待。徐老师,不说兄,CMD200,Norton AntivVirus ,史顺武,凯凯兄,如果您看到这个问题,请指教。谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:小年 回复日期:2002-11-03 13:01:31
<br>内容:对话框属性设置:<BR>CHILD<BR>TITLEBAR去掉<BR><BR>重载父窗口OnSize()<BR>你试一试?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-11-03 15:21:32
<br>内容:这是俺的一段代码:<BR>CMainFrame*&nbsp;&nbsp; pFrame = (CMainFrame*)AfxGetApp()-&gt;GetMainWnd();<BR>pFrame-&gt;m_dlgSlide.Create(IDD_SLIDE);<BR>CMyView* pView = (CMyView*)(pFrame-&gt;GetActiveView());<BR>CRect rc;<BR>pView-&gt;GetClientRect(&rc);<BR>pView-&gt;MapWindowPoints(pFrame, &rc);<BR>pFrame-&gt;m_dlgSlide.SetWindowPos(NULL, rc.left,rc.top,rc.Width(),rc.Height(),0);<BR>pFrame-&gt;m_dlgSlide.ShowWindow(SW_SHOW);<BR><BR>m_dlgSlide是个你要的那种对话框,如小年所说Child, 没有titlebar,没有border,而且是set foreground的。<BR><BR>但是俺无从考证你究竟需要虫灾多少消息处理函数才能保证它跟着主窗口一起改大小,改位置,等等等等……所以得你自己去试验了呵呵……上边一段代码除了create的那句以外可能你得在很多地方调它们。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-11-03 19:48:35
<br>内容:不说兄:按照您给的代码测试了一下出现一下问题:<BR>Compiling...<BR>MainFrm.cpp<BR>f:\test\testview.h(21) : error C2143: syntax error : missing ';' before '*'<BR>f:\test\testview.h(21) : error C2501: 'CTestDoc' : missing storage-class or type specifiers<BR>f:\test\testview.h(21) : error C2501: 'GetDocument' : missing storage-class or type specifiers<BR>Error executing cl.exe.<BR>Test.exe - 3 error(s), 0 warning(s)<BR>这是怎么回事?请指教
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-11-03 20:33:48
<br>内容:光有错误没有代码我怎么能猜到是什么地方出了错误呢?把testview.h贴上来吧至少
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-11-03 21:53:58
<br>内容:不说兄:我只是新建了一个单文档测试了一下,没有写什么代码,testview.h根本就没动。还是说一下步骤,请指教:<BR>(1)新建一个单文档,加入对话框(按照您的风格要求设置),子菜单项<BR>(2)用ClassWizard为新增加的对话框添加类CMyDlg,并在主框架中映射子菜单消息。<BR>(3)在主框架窗口中增加变量CMyDlg m_dlgSlide; 并在菜单消息中加入您的代码<BR>(4)在主框架中加入头文件:#include "MyDlg.h"和#include "TestView.h"<BR> (5) 将代码中的两处CMyView改为CTestView<BR>运行后就出现刚才给的错误,没有改动"TestView.h"中的东东,可是错误却全部出在那<BR>我还是将代码一并上传吧:<BR><BR>// MainFrm.cpp : implementation of the CMainFrame class<BR>//<BR><BR>#include "stdafx.h"<BR>#include "Test.h"<BR><BR>#include "MainFrm.h"<BR>#include "MyDlg.h"<BR>#include "TestView.h"<BR><BR>#ifdef _DEBUG<BR>#define new DEBUG_NEW<BR>#undef THIS_FILE<BR>static char THIS_FILE[] = __FILE__;<BR>#endif<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CMainFrame<BR><BR>IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)<BR><BR>BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_MSG_MAP(CMainFrame)<BR>&nbsp;&nbsp;&nbsp;&nbsp;ON_WM_CREATE()<BR>&nbsp;&nbsp;&nbsp;&nbsp;ON_COMMAND(ID_TANCHU, OnTanchu)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_MSG_MAP<BR>END_MESSAGE_MAP()<BR><BR>static UINT indicators[] =<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;ID_SEPARATOR,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // status line indicator<BR>&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_CAPS,<BR>&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_NUM,<BR>&nbsp;&nbsp;&nbsp;&nbsp;ID_INDICATOR_SCRL,<BR>};<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CMainFrame construction/destruction<BR><BR>CMainFrame::CMainFrame()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: add member initialization code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR><BR>CMainFrame::~CMainFrame()<BR>{<BR>}<BR><BR>int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (CFrameWnd::OnCreate(lpCreateStruct) == -1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("Failed to create toolbar\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// fail to create<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndStatusBar.Create(this) ||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndStatusBar.SetIndicators(indicators,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sizeof(indicators)/sizeof(UINT)))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRACE0("Failed to create status bar\n");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// fail to create<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Delete these three lines if you don't want the toolbar to<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;be dockable<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;EnableDocking(CBRS_ALIGN_ANY);<BR>&nbsp;&nbsp;&nbsp;&nbsp;DockControlBar(&m_wndToolBar);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR><BR>BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if( !CFrameWnd::PreCreateWindow(cs) )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Modify the Window class or styles here by modifying<BR>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;the CREATESTRUCT cs<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<BR>}<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CMainFrame diagnostics<BR><BR>#ifdef _DEBUG<BR>void CMainFrame::AssertValid() const<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFrameWnd::AssertValid();<BR>}<BR><BR>void CMainFrame::Dump(CDumpContext& dc) const<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFrameWnd::Dump(dc);<BR>}<BR><BR>#endif //_DEBUG<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR>// CMainFrame message handlers<BR><BR><BR>void CMainFrame::OnTanchu() <BR>{<BR>CMainFrame*&nbsp;&nbsp; pFrame = (CMainFrame*)AfxGetApp()-&gt;GetMainWnd();<BR>pFrame-&gt;m_dlgSlide.Create(IDD_MYDLG);<BR>CTestView* pView = (CTestView*)(pFrame-&gt;GetActiveView());<BR>CRect rc;<BR>pView-&gt;GetClientRect(&rc);<BR>pView-&gt;MapWindowPoints(pFrame, &rc);<BR>pFrame-&gt;m_dlgSlide.SetWindowPos(NULL, rc.left,rc.top,rc.Width(),rc.Height(),0);<BR>pFrame-&gt;m_dlgSlide.ShowWindow(SW_SHOW);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR>// TestView.h : interface of the CTestView class<BR>//<BR>/////////////////////////////////////////////////////////////////////////////<BR><BR>#if !defined(AFX_TESTVIEW_H__D6A9265F_4139_4946_A198_B6D6F917B3C4__INCLUDED_)<BR>#define AFX_TESTVIEW_H__D6A9265F_4139_4946_A198_B6D6F917B3C4__INCLUDED_<BR><BR>#if _MSC_VER &gt; 1000<BR>#pragma once<BR>#endif // _MSC_VER &gt; 1000<BR><BR><BR>class CTestView : public CView<BR>{<BR>protected: // create from serialization only<BR>&nbsp;&nbsp;&nbsp;&nbsp;CTestView();<BR>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_DYNCREATE(CTestView)<BR><BR>// Attributes<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CTestDoc* GetDocument();<BR><BR>// Operations<BR>public:<BR><BR>// Overrides<BR>&nbsp;&nbsp;&nbsp;&nbsp;// ClassWizard generated virtual function overrides<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_VIRTUAL(CTestView)<BR>&nbsp;&nbsp;&nbsp;&nbsp;public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnDraw(CDC* pDC);&nbsp;&nbsp;// overridden to draw this view<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL PreCreateWindow(CREATESTRUCT& cs);<BR>&nbsp;&nbsp;&nbsp;&nbsp;protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_VIRTUAL<BR><BR>// Implementation<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual ~CTestView();<BR>#ifdef _DEBUG<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void AssertValid() const;<BR>&nbsp;&nbsp;&nbsp;&nbsp;virtual void Dump(CDumpContext& dc) const;<BR>#endif<BR><BR>protected:<BR><BR>// Generated message map functions<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_MSG(CTestView)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// NOTE - the ClassWizard will add and remove member functions here.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;DO NOT EDIT what you see in these blocks of generated code !<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_MSG<BR>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<BR>};<BR><BR>#ifndef _DEBUG&nbsp;&nbsp;// debug version in TestView.cpp<BR>inline CTestDoc* CTestView::GetDocument()<BR>&nbsp;&nbsp; { return (CTestDoc*)m_pDocument; }<BR>#endif<BR><BR>/////////////////////////////////////////////////////////////////////////////<BR><BR>//{{AFX_INSERT_LOCATION}}<BR>// Microsoft Visual C++ will insert additional declarations immediately before the previous line.<BR><BR>#endif // !defined(AFX_TESTVIEW_H__D6A9265F_4139_4946_A198_B6D6F917B3C4__INCLUDED_)<BR>不说兄,又要麻烦你了。呵呵
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-11-03 22:17:04
<br>内容:在mainfrm.cpp的这句话<BR>#include "TestView.h"<BR>前边加上<BR>#include "TestDoc.h"
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-11-03 23:47:54
<br>内容:不说兄:加上#include "TestDoc.h"后,的确错误得以纠正(谢谢),可是点击菜单,该对话框一闪而过,且好像也不能自动添冲整个客户区,请问这是怎么回事?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:不说 回复日期:2002-11-04 01:26:52
<br>内容:哦,俺的代码是从俺的工程里扒出来的,跟你的情况可能不太一样呵呵……你试试这么来:<BR><BR>1)把你建立的那个对话框IDD_MYDLG改成popup的,仍然不要边框<BR>2)OnTanChu里这么写<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_dlgSlide.Create(IDD_MYDLG);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CTestView* pView = (CTestView*)(this-&gt;GetActiveView());<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRect rc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pView-&gt;GetClientRect(&rc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pView-&gt;MapWindowPoints(this, &rc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;ClientToScreen(&rc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_dlgSlide.SetWindowPos(&wndTopMost, rc.left,rc.top,rc.Width(),rc.Height(),0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_dlgSlide.ShowWindow(SW_SHOW);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:萧马 回复日期:2002-11-04 09:28:39
<br>内容:不说兄:又有新问题出现:<BR>(1)点击菜单弹出对话框(充满整个客户区)关闭后在打开就出现错误<BR> (我已经将弹出的错误对话框放在上面)。<BR>(2)该对话框不能在主对话框最大化时也发生变化(最小化也一样)。<BR> 这个问题是不是您所说的:要在多处调用那段代码?<BR>多谢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -