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

📄 subject_36633.htm

📁 vc
💻 HTM
字号:
<p>
序号:36633 发表者:xujin 发表日期:2003-04-17 11:40:06
<br>主题:一个有意的问题啊!
<br>内容:void CWingreetDoc::Serialize(CArchive&amp; ar)<BR>{CFile *fp=ar.GetFile();<BR>int j=0;<BR>if (ar.IsStoring())<BR>{}<BR>else<BR>{<BR>for(j=0;j&lt;1023;j++)<BR>{<BR>if(fp-&gt;Read(Cfile[j],1024)&lt;1024)goto END;};<BR>//CFILE是在CWinGreetDOC类中定义的二维数组,COUNT用来记数。<BR>END:<BR>COUNT=j;&nbsp;&nbsp;&nbsp;&nbsp;<BR>return;};<BR>}<BR>然后在CWinGreetDoc类中定义OnDraw()用于显示<BR>void CWingreetView::OnDraw(CDC* pDC)<BR>{<BR>CWingreetDoc* pDoc = GetDocument();<BR>ASSERT_VALID(pDoc);<BR>RECT ClientRect;<BR>GetClientRect(&amp;ClientRect);<BR>for(int i=0;i&lt;pDOC-&gt;COUNT;i++)<BR>pDC-&gt;DrawText(pDoc-&gt;Cfile[i],&amp;ClientRect,DT_SINGLELINE);<BR>}<BR>运行后打开一个文本文件时窗口无显示,当用“HELLO”等字符串代替pDoc-&gt;Cfile[i]时能显示,设断点查Cfile数组内容时,里面却已读进数据,不知为何却无法显示?请诸高手找找原因!!!<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Eddie 回复日期:2003-04-17 13:05:09
<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>
<font color=red>答案被接受</font><br>回复者:mimibaby 回复日期:2003-04-17 15:30:13
<br>内容:我估计原因是pDoc-&gt;Cfile[i]中的每个字浮窜尾没有加上“空”字浮,所以显不出来!<BR>有两种方法:<BR>1----事先清空Cfile[i]<BR>2----动态在每个字浮窜尾加上“空”字浮
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:wowow 回复日期:2003-04-17 17:48:00
<br>内容:DrawText的位置不对,把你的ClientRect.top加上当前字符的高度(从系统中用GetSystemMetrics取得),就可以显示在(0,0)位置上显示字符了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xujin 回复日期:2003-04-17 18:01:44
<br>内容:谢谢两位。后来发现了是在类的构造函数中无意中,定义了个初始化COUNT=0;可是以在另一段源代码中发现窗口样式无法改变:<BR>pragma comment(linker,"/subsystem:windows")<BR>#pragma comment(linker,"/entry:WinMainCRTStartup")<BR><BR>#include "basetsd.h"<BR>#include "C:\Program Files\Microsoft Visual Studio\VC98\Include\Windows.h" <BR>//包含应用程序中所需的数据类型和数据结构的定义 <BR>LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //窗口函数说明 <BR>//--------------- 以下初始化窗口类 ---------------------- <BR>int WINAPI WinMain(HINSTANCE hInstance, <BR>HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow) <BR>{ <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>HWND hwnd ; <BR>MSG Msg ; <BR>WNDCLASSA wndclass ; <BR>char lpszClassName[] = "窗口"; <BR>char lpszTitle[]= "My_Windows"; <BR>wndclass.style=0; //样式若改成WS_HSCROLL|WS_VSCROLL|WS_WS_OVERLAPPEDWINOW窗口会无法显示。<BR>wndclass.lpfnWndProc=WndProc; <BR>wndclass.cbClsExtra=0; <BR>wndclass.cbWndExtra=0; <BR>wndclass.hInstance=hInstance; <BR>wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);<BR>wndclass.hCursor=LoadCursor(NULL,IDC_ARROW) ;<BR>wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);<BR>wndclass.lpszMenuName=NULL; <BR>wndclass.lpszClassName=lpszClassName ;<BR>if(!RegisterClass( &amp;wndclass))<BR>{ MessageBeep(0) ; return FALSE ; } ;<BR>hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,<BR>CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL, NULL, hInstance, NULL );<BR>ShowWindow( hwnd, nCmdShow) ;<BR>UpdateWindow(hwnd);<BR>while( GetMessage(&amp;Msg, hwnd, 0, 0))<BR>{<BR>TranslateMessage( &amp;Msg) ;<BR>DispatchMessage( &amp;Msg) ;<BR>}<BR>return Msg.wParam; <BR>}<BR>LRESULT CALLBACK WndProc<BR>( HWND hwnd,<BR>UINT message,<BR>WPARAM wParam,<BR>LPARAM lParam<BR>)<BR>{ <BR>&nbsp;&nbsp;&nbsp;&nbsp;switch(message)<BR>{ case WM_DESTROY:<BR>PostQuitMessage(0);<BR>default: return DefWindowProc(hwnd,message,wParam,lParam);<BR>}<BR>return(0);<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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