CWnd::WalkPreTranslateTree里出问题 [问题点数:50分,结帖人flmn]

Bbs2
本版专家分:148
结帖率 100%
Bbs10
本版专家分:188320
Blank
进士 2006年 总版技术专家分年内排行榜第五
2004年 总版技术专家分年内排行榜第八
Blank
银牌 2006年10月 总版技术专家分月排行榜第二
2006年9月 总版技术专家分月排行榜第二
Blank
铜牌 2006年5月 总版技术专家分月排行榜第三
Blank
微软MVP 2006年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
Bbs2
本版专家分:148
Bbs2
本版专家分:148
构造函数里NEW,析构函数里delete出问题
[img=https://img-bbs.csdn.net/upload/201804/12/1523494550_439372.png][/img]rnrn请问这里delete为什么出错了?
求助:对话框里放一个CWnd,Cwnd里放一个CStatic,为什么显示不了?
MFC的SDI工程里添加了一个对话框资源,派生了一个给予CDialog的类,头文件里加了下述变量rnpublic:rn CWnd m_MyWnd;rn CStatic m_MyStatic;rn添加了方法OnInitDialog()rnBOOL CDialogContainer::OnInitDialog()rnrn CDialog::OnInitDialog();rnrn // TODO: 在此添加额外的初始化rnrn m_MyWnd.Create(_T(""),_T(""),WS_CHILD|WS_VISIBLE,CRect(4,4,320,80),this,IDC_DLGCONTAIN_WND,NULL);rnrn m_MyStatic.Create(_T("测试测试"),WS_CHILD|WS_VISIBLE,CRect(8,8,208,36),&m_MyWnd,IDC_DLGCONTAIN_STATIC);rnrn return TRUE; // return TRUE unless you set the focus to a controlrn // 异常: OCX 属性页应返回 FALSErnrn菜单事件为rnvoid CDialogTestView::OnMenuDlgtest()rnrn // TODO: 在此添加命令处理程序代码rn CDialogContainer dlg;rn dlg.DoModal();rnrn为啥弹出的对话框啥也见不到?
我的DataGrid在ASP.NET里出问题
我添加了SqlConnection和SqlDataAdapter,并且做了设置,然后生成数据集dataSet,把DataGrid1的DataSource指向dataSet,dataMember指向数据表,预览数据都好好的,可是运行却不行,然后,我在Page_Load事件中加了rnif(!Page.IsPostBack)rnrn DataGrid1.DataBind();rnrn可是只出来了列名,数据一个都出不来,急死了!当然,我已经对DataGrid1的属性里的列已经全选了,并且去掉了在运行时自动创建列,可是数据一个都出不来,望大家帮忙!
在WEB里学用应用程序出问题
在窗体中放了两个Html server控件.txtServerTextField与btnServerButtonrnrnrnPublic Class WebForm1rn Inherits System.Web.UI.Pagernrn Protected WithEvents txtServerTextField As System.Web.UI.HtmlControls.HtmlInputTextrn Protected WithEvents btnServerButton As System.Web.UI.HtmlControls.HtmlInputButtonrnrn" Web 窗体设计器生成的代码 "rnrn rn Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadrn rn '下面一行是出错的地方rn txtServerTextField.Value = "click the button ==>"rn rn End Subrnrnrn出错提示为:异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。rnrnrn请问该如何解决??rn
在wisql32里查询表时出问题
select * from cq rnrncq表有大约20字段,但用select cqbh,cpmc form cq 就没问题 记录数为700条左右rnrnrnopen client error:ct_cwd_drop(): user api layer: external error: This routine can be called only if the command structure is idlernrnrnrn有人遇到过吗,,谢谢!!!!
再CWnd里怎么用DrawItem啊
再CWnd里怎么用DrawItem啊,高手跟俺说说吧,没分了
CDialog里的CWnd是NULL为什么?
我在dll中在到处函数中用CWinThread的子类启动一个线程,在它InitInstance()中new了一个dialog,再domodel(按网上说的return false让系统自动完成清理工作),到处函数返回时把hwnd传回调用者,结果发现传回的总是NULLrnrn调试发现即使对话框正常显示,可是cdialog里面的<em>cwnd</em>总是0,这是为什么呢?
xp 里写的静态HTML页面里的链接 在w7里 出问题
w7系统里,原来的静态HTML页面链接 点不进去rn在xp里都很正常rnrn编码格式问题??rn求解……
关于CWnd::Create()、CWnd::PreCreateWindow()的问题
CWnd::Create()、CWnd::PreCreateWindow()这两个函数之间的执行顺序是怎样的,哪个先调用?他们之间有什么关系啊?我感觉有点迷糊
CWnd::FromHandle与CWnd::FromHandlePermanent有什么区别??
rt
请问CWnd::Invalidate()和CWnd::UpdateWindow()到底有什么区别?
请问CWnd::Invalidate()和CWnd::UpdateWindow()到底有什么区别?都是重画客户区吗?
HWND & CWnd
请问高手:HWND 与 CWnd 有何区别?怎样定义一个HWND对象 |指针?
关于CWnd
在ctrl中,CWnd *topWnd = this就可以了;rn怎么在别的界面中得到ctrl中CWNDrn
CWnd的疑问
CWnd handle;rnhandle.FindWindow("progman",NULL);rnAfxMessageBox((LPARAM)handle.m_hWnd); 这里怎么进行类型转换rnhandle.ShowWindow(0);rnrn怎么一运行就出错?
HWND to CWnd?
rn in bcb i can find HWND but i need convert CWndrn how to do?rn rn thanks !
CWnd::UpdateWindow()
CWnd::UpdateWindow();rn和CWnd::Invalidate()调用WM_PAINT时有什么区别
CWnd派生
我想通过自己派生出一个CWnd的类,来自己实现一个窗口的控件,rn我重写的Create函数,[code=C/C++] rnif (!CreateEx(WS_EX_LEFT|WS_EX_RIGHTSCROLLBAR|WS_EX_LTRREADING|WS_EX_TOOLWINDOW,rn AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW|CS_DBLCLKS | CS_OWNDC|CS_GLOBALCLASS /*,0,0,LoadIcon(NULL,IDI_WARNING)*/),rn NULL,rn WS_POPUP|WS_VISIBLE|WS_CLIPSIBLINGS|WS_OVERLAPPED,rn rc.left,rc.top,rc.Width(),rc.Height(),rn hParent, NULL))rn rn DWORD err= GetLastError(); rn return FALSE;rn ;rn[/code]rn主要实现的功能是这个窗口为Popup类型的,可是我现在实现了WM_LBUTTONDOWN的消息,都可以得到了,但是在处理函数OnLButtonDown里面调用[code=C/C++]CWnd::OnLButtonDown(flag,point)[/code]会崩溃呢?
CWnd::PostMessage()是否只将消息发往CWnd的消息队列?
-
cwnd 的scroll
大家过年好!!我向大家请教一个问题了。我的一个类是继承CWnd.由于内容比较多了,需要实现滚动。代码如下:rnOnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)rnrn // TODO: 在此添加消息处理程序代码和/或调用默认值rn static int yPos; rn static int yChar; rn rn si.cbSize = sizeof (si);rn si.fMask = SIF_ALL;rn GetScrollInfo ( SB_VERT, &si);rn // Save the position for comparison later onrn yPos = si.nPos;rn switch (nSBCode)rn rn // user clicked the HOME keyboard keyrn case SB_TOP:rn si.nPos = si.nMin;rn break;rnrn // user clicked the END keyboard keyrn case SB_BOTTOM:rn si.nPos = si.nMax;rn break;rnrn // user clicked the top arrowrn case SB_LINEUP:rn si.nPos -= 1;rn break;rnrn // user clicked the bottom arrowrn case SB_LINEDOWN:rn si.nPos += 1;rn break;rnrn // user clicked the scroll bar shaft above the scroll boxrn case SB_PAGEUP:rn si.nPos -= si.nPage;rn break;rnrn // user clicked the scroll bar shaft below the scroll boxrn case SB_PAGEDOWN:rn si.nPos += si.nPage;rn break;rnrn // user dragged the scroll boxrn case SB_THUMBTRACK:rn si.nPos = si.nTrackPos;rn break;rnrn default:rn break; rn rn // Set the position and then retrieve it. Due to adjustmentsrn // by Windows it may not be the same as the value set.rn si.fMask = SIF_POS;rn SetScrollInfo ( SB_VERT, &si, TRUE);rn GetScrollInfo ( SB_VERT, &si);rn // If the position has changed, scroll window and update itrn if (si.nPos != yPos)rn rn ScrollWindow( 0, yChar * (yPos - si.nPos),NULL, NULL);rn UpdateWindow ();rn rnrnrn //__super::OnVScroll(nSBCode, nPos, pScrollBar);rnrn这个我写的代码,现在scrollbar可以移动,但是屏幕不跟滚动,一点都不动。请指教一下了。rn如何解决这个问题呢?
CWnd和CView
CHelloView类的两个最重要的基类:CWnd和CView,CWnd提供了CHelloView的“窗口属性”,而CView提供了它和应用程序框架其他部分之间的联系。特别是和文档及框架窗口之间的联系。rn哪些代码实现了这样的功能?
CWnd::WindowProc
我重载了CWnd::WindowProc函数,但是不知道什么时候call CWnd::WindowProc()和CWnd::DefWindowProc(),是不是自己处理了消息,就返回0,剩下的就callrnCWnd::WindowProc()。rnrnLRESULT CMyWnd::WindowProc( UINT message, WPARAM wParam, LPARAM lParam )rnrn LRESULT lRet;rn // i processedrn if( 。。。)rn lRet = 0;rn // system processedrn else rn lRet = CWnd::WindowProc( message, wParam, lParam );rnrn return lRet;rnrn
CWnd 问题
我的程序中实现了两个类:rnrnCParentWnd 继承于CWndrnCChildWnd 也继承于CWndrnrn在我的CView中创建CParentWnd作为子窗口rn在CParentWnd中创建了一个CChildWnd作为他的子窗口(WM_CHILD)rnrn利用MoveWindow移动CChildWnd后,我发现在原来CChildWnd的位置没有被刷新,rn调用CView::Invalidate()后正常,但是会导致整个View重画,有闪烁感rnrn如何不全部重画来解决这个问题?
cwnd* pwnd 和cwnd *pwnd 有什么区别
<em>cwnd</em>* pwnd 和<em>cwnd</em> *pwnd 有什么区别
请问:CWnd
请问有没有关于CWnd的文档.详细的说明创建,初始化,消息处理销毁rnMSDN我看了,还是不明白rn可以发到的信箱,谢谢!rnsohujob@sohu.com
CWnd;sendmessage
还得请教各位大虾:rn现在有一个单文档工程,about对话框里有一个按钮button1rnbutton1的单击事件的处理函数是CAboutDlg:OnButton1()rnrn AfxMessageBox("hello");rnrn在视图中的OnIniupdate()函数中用sendmessage(WM_LBUTTONDOWN,IDC_BUTTON1,0);rn但运行时却没有出现有hello字样的消息框,这是为何?要实现之,正确的方法是什么?rn我要是把WM_LBUTTONDOWN换成自定义的消息,并在自定义的rn消息处理函数中也打出个消息框,又该怎样做?rn请给个例子好吗.rn
CWnd创建
在CWinApp::Inistance中写入rn CWnd wnd;rn wnd.CreateEx(0,AfxRegisterWndClass(0),"",WS_VISIBLE | WS_BORDER | WS_POPUP,CRect(x,y,x+BITMAP_WIDTH,y+BITMAP_HEIGHT),NULL,IDD_SPLASH_DIALOG,NULL);rn wnd.ShowWindow(SW_SHOW);rn为什么wnd创建不出来。rn同时想问WS_POPUP,WS_CHILD等Window Style是什么意思,如果在上面的Window Style中加入WS_CHILD即可创建出来,但是在MSDN中不是说WS_POPUP与WS_CHILD不可同时使用的吗?
CWnd问题
我自己从CWnd派生了一个类,自己编写一个文本输入控件,在程序界面上创建了这个窗口,刚开始的时候有输入焦点可以输入任何文字,可是当程序界面重新刷新的时候输入焦点就没有了,我怎么用鼠标点击这个窗口就是没有了输入焦点,不知道这是为什么?请各位高手指点!!!rn 谢谢!rnrnrn[color=#0000FF]我的创建窗口方法定义是[/color]rn // 创建rn BOOL Create(const RECT& rect, CWnd* parent, UINT nID,rn DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);rn[color=#0000FF]实现[/color]rn // 创建rn BOOL CLExEditCtrl::Create(const RECT& rect, CWnd* parent, UINT nID, DWORD dwStyle)rn rn ASSERT(parent->GetSafeHwnd());rnrn if (!CWnd::Create(GEOKITTEXTEDIT_CLASSNAME,NULL,dwStyle,rect,parent,nID)) rn return FALSE;rnrn return TRUE;rn rn[color=#0000FF]注册窗口代码如下:[/color]rn // 注册rnBOOL CLExEditCtrl::RegisterWindowClass()rnrn WNDCLASS wndcls;rn HINSTANCE hInst = AfxGetInstanceHandle();rn //HINSTANCE hInst = AfxGetResourceHandle();rnrn if (!(::GetClassInfo(hInst, GEOKITTEXTEDIT_CLASSNAME, &wndcls)))rn rn // otherwise we need to register a new classrn wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;rn wndcls.lpfnWndProc = ::DefWindowProc;rn wndcls.cbClsExtra = wndcls.cbWndExtra = 0;rn wndcls.hInstance = hInst;rn wndcls.hIcon = NULL;rn#ifndef _WIN32_WCE_NO_CURSORrn wndcls.hCursor = AfxGetApp()->LoadStandardCursor(IDC_IBEAM);rn#elsern wndcls.hCursor = 0;rn#endifrn wndcls.hbrBackground = (HBRUSH) COLOR_WINDOW;rn wndcls.lpszMenuName = NULL;rn wndcls.lpszClassName = GEOKITTEXTEDIT_CLASSNAME;rnrn if (!AfxRegisterClass(&wndcls))rn rn AfxThrowResourceException();rn return FALSE;rn rn rnrn return TRUE;rnrn
CWnd::OnPaint()和CWnd::OnEraseBkgnd()有什么区别啊?
我自己从CWND里派生了一个类,怎么也显示不了,后来反代码移到这两个中的任一个就可以了rnONPAINT()我知道是窗口坏了就要调用rnONERASEBKGND()有谁知道是怎么回事呀?什么时候这个函数被调用?rnrn遇到问题就是急啊,求解!!
CWnd::FromHandlePermanant()与CWnd::FromHandle()有何区别?
以下内容摘自MSDN:rnrn============================================================rnCWnd::FromHandle rnrnstatic CWnd* PASCAL FromHandle( HWND hWnd );rnrnReturn Valuern Returns a pointer to a CWnd object when given a handle to a window. If a CWnd object is not attached to the handle, a temporary CWnd object is created and attached. rn The pointer may be temporary and should not be stored for later use.rnrnrn============================================================rnCWnd::FromHandlePermanent rnrnstatic CWnd* PASCAL FromHandlePermanent( HWND hWnd );rnrnReturn Valuern A pointer to a CWnd object.rnrnRemarksrn Returns a pointer to a CWnd object when given a handle to a window. If a CWnd object is not attached to the handle, NULL is returned.rn This function, unlike FromHandle, does not create temporary objects.rnrnrn============================================================rn 两个函数都返回一个 CWnd 类的对象,这个对象挂接到给定的窗口句柄。rn 而它们不一样的地方是一个要创建临时对象,一个不创建临时对象。rnrn 我想请问,如果 FromHandlePermanant() 不创建临时对象,那传递给它的窗口句柄会挂接到那个对象上?rnrn 那下面的代码:rnrnCWnd *pWnd;rnpWnd = CWnd::FromHandlePermanant(hWnd);rnrn pWnd 是不是永远都为 NULL?
关于CWnd::ScreenToClient和CWnd::ClientToScreen的使用
这两个函数我搞不明白怎么转换坐标的 是什么意思 哪位大哥帮我举个例子解释下好嘛?rn我看过MSDN 但是说的太笼统了 还是不会用rn参数是个CRect结构,我初步理解是把参数这个矩形结构转换位相应的坐标 但是当我使用的时候又似乎完全不是这么回事 唉
请教:Cwnd
请教怎样在windows控制台程序中使用Cwnd类?
CWND指针
利用父类的CWND指针或者HWND 如何获取到之类的CWND或者HWND?
CWnd::CreateEx
MFC中,在基于对话框工程中,通过添加一个按钮控件,并在其消息响应函数中添加代码:rn CRect rc;rn rc.SetRect(0, 0, 290, 250);rn DWORD dwStyle = WS_CAPTION|WS_SYSMENU|WS_VISIBLE|WS_POPUP|WS_BORDER;rn CWnd * pWnd = new CWnd; rn LPCTSTR lpszClassName = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,LoadCursor(NULL,IDC_ARROW),NULL);rn BOOL bRet = pWnd->CreateEx(NULL,lpszClassName, "wnd",dwStyle, rc, this, 12345);//问题rn pWnd->ShowWindow(SW_SHOW); rn这样在运行时会出错,我把12345改为0就能正常运行,弹出窗口,这个标识参数为什么会这样呢,而且我试了多个值都不行,只有0才行,求高手解答啊!
cwnd问题
int m_nBackColor;rn CTestDialog1View* m_pParentWind;rn m_pParentWnd->m_nBackColor=RGB(m_nRed,m_nGreen,m_nBlue);rn error C2039: 'm_nBackColor' : is not a member of 'CWnd'rnrn应该如何改正?rn
CWnd求助
如下代码,为何不能正确显示?多谢指教rnrnCWnd m_ClockTime;rnm_ClockTime.Create(NULL,"time",WS_BORDER|WS_CHILD|WS_VISIBLE,CRect(TabClient.left+10,TabClient.top+30,TabClient.left+70,TabClient.top+50),GetDlgItem(IDC_CLOCKTYPE),IDC_CLOCKTIME);rnrnHDC hwnd = m_ClockTime.GetDC()->GetSafeHdc();rn HDC hmem = CreateCompatibleDC(hwnd);rn HBITMAP hbg;rn BITMAP bm;rn CRect rc;rn m_ClockTime.GetClientRect(&rc);rn hbg = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BACKGROUND));rn GetObject(hbg,sizeof(bm),&bm);rn SelectObject(hmem,hbg);rn StretchBlt(hwnd,0,0,rc.right-rc.left,rc.bottom-rc.top,hmem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);rn结果没有显示出图像IDB_BACKGROUND,而且如下代码也不做任何显示,为何?rnm_ClockTime.GetDC()->TextOut(5,5,"Text");rn m_ClockTime.GetDC()->MoveTo(0,0);rn m_ClockTime.GetDC()->LineTo(5,5);
出问题了!!!!
我装了一个叫bootmagic的软件用来管理系统启动,启动计算机后直接进入bootmagic的界面,然后选择启动win98,但迟迟没有响应, 然后我用win98启动盘启动机器,发现c盘不是原来的文件了,里面只有两个不认识的文件,我想这可能是虚拟的c盘,但我不知道怎样进入原来的c盘。rnrn 我的问题是:如何能再进入原来的c盘?还有,如何进入win98?
出问题
set Sqlconn = Server.CreateObject("ADODB.Connection")rn Sqlconn.Open session("connection")rn set SqlRecordSet = Server.CreateObject("ADODB.RecordSet")rn strSelect = "select ips_others.ItemId,ips_ipdis.ipid1,ips_ipdis.mask,ips_others.type,ips_others.machine1,ips_others.disid from IPS_others,ips_ipdis "rn strSelect = strSelect + "where status='使用' and ips_others.disId=ips_ipdis.disid order by ips_others.ItemId"rn call SqlRecordSet.Open(strSelect, Sqlconn)rn程序报错是rnMicrosoft OLE DB Provider for ODBC Drivers (0x80040E14)rn/cqipmanage/Item/itemmenu.asp, 第 263 行rn请各位大虾帮忙看看了
出问题
rnrnrnrn这段代码在WINDOWXP上执行时rn为什么有的PC上有时会提示rn"这是html 帮助的功能"rn点OK后画面不关闭?rnrn我希望实现画面一打开,就关闭的功能rn
出问题了?????
我在别的机器上写的JSP和数据库连接都很正常,可是当我把他复制到我本机时,和数据库就连不上了.请问是什么原因啊.我在本机上也配置了ODBC数据原了.BIN也打开了,JDK也安装了.rnrnrn谢谢各位大侠,帮帮忙吧.
出问题了!
rnCreate proc myproc1rnas rnbegin tranrnif exists( --首先判断是否别人已修改了数据rnrnselect 1 rnfrom (select a.* --得到本人修改了的行,先不管本人插的新行。rn from #cgddmxb1 a rn left join #cgddmxb brn on a.cddh = b.cddh and rn a.keyid = b.keyid and rn a.hbbm= b.hbbmrn where b.keyid is null --表示本人删除了rn or a.sl <> b.sl --本人修改了数量rn or a.dj <> b.dj --本人修改了单价rn ) as c rnrn left join cgddmxb drnon c.cddh = d.cddh and c.keyid = d.keyid and c.hbbm = d.hbbmrnwhere d.keyid is null --表示提交的时候别人已将他删除了rn or c.sl <> d.sl --别人已修改了数量rn or c.dj <> d.dj) --别人已修改了单价rn beginrn rollbackrn raiserror 20001 '你修改的数据别人已经修改过了。'rn return -1rn endrncommitrn这段过程根本不返回出错消息。我能过查询分析器执行存储过程,跟宗的时候rnrn服务器: 消息 208,级别 16,状态 1,过程 myproc1,行 4rn[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 '#cgddmxb1' 无效。rnrnrn服务器: 消息 208,级别 16,状态 1,过程 myproc1,行 4rn[Microsoft][ODBC SQL Server Driver][SQL Server]对象名 '#cgddmxb' 无效。rn这两个临时表我是在查询分析器里rn在cgddmxb表里有两条rnrnselect * into #cgddmxb from cgddmxbrnselect * into #cgddmxb1 from cgddmxbrndelete * into #cgddmxb1 rn然后我改了cgddmxb的dj和sl的值, 没反应
出问题了!!!
我的VS不知道咋的,以前调试时,如果程序出错会定位错误的位置,但现在没有提示错误位置,而是弹出一个结束消息框,晕呀,是不是哪里设错了?????????????
paradox7表导到mssql里出问题
paradox7表导到mssql里<em>出问题</em>,因为数据源那里没有paradox7的驱动怎么办,到哪里找啊,找了半天没找到。用database desktop打开表,出现“corrupt table/index header”,现在怎么能把这些数据取出来啊??
帮忙看看 job里面的包出问题
sql 2000 job里面的包包里面的一步奏 出现以下的错误信息rnStep Error Source: Microsoft OLE DB Provider for OraclernStep Error Description:Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. (Microsoft OLE DB Provider for Oracle (80040e21): ORA-12560: TNS:protocol adapter errorrn)rnStep Error code: 80040E21rnStep Error Help File:rnStep Error Help Context ID:0 谁能帮我看看啊
UBUNTU里QT FOR ANDROID 部署出问题
[img=https://img-bbs.csdn.net/upload/201410/17/1413528072_234117.png][/img]rn这样该怎么解决?
outlook里的dbx文件出问题了,求救!
outlook里有一个文件夹有6000多封邮件,总共有500-600M,经常无法打开,显示磁盘空间不足或内存不足的提示,我将里面的邮件按照月份归类,2002年的移出来并归好类之后,突然出现错误,2003年1月到4月的邮件还在里面,但是现在却读不出来,显示是此文件夹内是空的,但是我查找这个dbx文件,它的大小还是500多兆,我想数据还没丢失,但是为什么读不出来,以前都是出现“无法打开”的提示,但是现在就是很正常的,却没有邮件。这是为什么,怎么解决?
VS 2005 里string 的比较出问题
[code=C/C++]if(imagename == DataList[i].name)[/code]rn这句老<em>出问题</em>,其中imagename 和DataList[i].name都是string类型的rn出错提示如下:rnerror C2678: 二进制“==”: 没有找到接受“std::string”类型的左操作数的运算符(或没有可接受的转换)rn d:\program files\microsoft visual studio 8\vc\platformsdk\include\guiddef.h(192): 可能是“int operator ==(const GUID &,const GUID &)”rn 试图匹配参数列表“(std::string, std::string)”时rnrnstring类型不是可以直接比较是否相同的么?
向stack里push类出问题
类的定义:rnclass Peoplernrnpublic:rn People();rn People(string str,int num)/*name = str;age = num;*/;rn ~People();rn void SetName(string str)/*name = str;*/;rn void SetAge(int num)/*age = num;*/;rn string GetName()/*return name;*/;rn int GetAge()/*return age;*/;rn void Print()printf("%s\t%d",name,age);rn const People & operator=(const People& person);rnprivate:rn string name;rn int age;rn;rn其中,操作符重载函数:rnconst People& People::operator=(const People& person)rnrn name = person.name;rn age = person.age;rn return *this;rnrnstack的定义:rntemplate class ArrStackrnrn public:rn ArrStack();rn ~ArrStack();rn T& PrintLastNumber(int factor);//基本数据类型,其他数据类型需要定义相应的打印函数rn bool IsEmpty();rn bool IsFull();rn bool push(T& element);rn bool pop();rn bool topelement(T &element);rn void PrintStack();//基本数据类型rn private:rn T Buffer[SIZE];rn int top;rn;rn栈的push pop topelement函数是:rntemplate bool ArrStack::push(T& element)rnrn top++;rn if(SIZE == top)rn rn top--;rn cout<< bool ArrStack::pop()rnrn if(-1 != top)rn rn top--;rn return true;rn rn elsern return false;rnrntemplate bool ArrStack::topelement(T &element)rnrn if(-1 != top)rn rn element = Buffer[top];rn return true;rn rn elsern return false;rnrn主函数中,我用如下代码测试:rnArrStack personstack;rn People a = People("gg",3);rn People b = People("mm",2);rn personstack.push(a);rn personstack.push(b);rn personstack.topelement(b);rn personstack.pop();rn b.Print();rn personstack.topelement(a);rn personstack.pop();rn a.Print();rn打印结果却是:rn(null) -858993460rn(null) -858993460rn而当我把people类和ArrStack、main()函数放在同一个文件中,就没有问题.开发环境是vc++;请问这是什么问题?
C#调用DLL里的方法出问题
//类DataAccessrnrnnamespace DALFactoryrnrn public class DataAccessrn rn private Assembly _Assembly;rn string _path;rn public DataAccess()rn rn _path =ConfigurationManager.AppSettings["WebDAL"];rn _Assembly = Assembly.Load(_path);rn rn public IAboutDao CreateAboutDao()rn rn string className = _path + ".AboutDao";rn return _Assembly.CreateInstance(className) as IAboutDao;rn rn rnrnrn//IAboutDao接口rnrnnamespace IDALrnrn public interface IAboutDaorn rn IList GetAboutContentById(string sId);rn rnrnrn/*注意了在下面的代码要调用*/rnrn using Model;rnusing IDAL;rnusing DALFactory;rnrnnamespace BLLrnrn public class Aboutrn rn private static readonly IAboutDao dal =DataAccess.CreateAboutDao();rn public IList GetAboutInfoById(string sId)rn rn return dal.GetAboutContentById(sId);rn rn rnrn//问题出现在这rnrn private static readonly IAboutDao dal =DataAccess.CreateAboutDao();rn错误 1 非静态的字段、方法或属性“DALFactory.DataAccess.CreateAboutDao()”要求对象引用 C:\My Documents\Visual Studio 2005\Projects\抽象三层\BLL\About.cs 13 25 BLLrnrn请问这是怎么回事,应该怎么才能获取到DataAccess的CreateAboutDao方法rnrn
放在循环里出问题,请高手指教
写了一个ORACLE的程序包,想调用程序包里的存储过程,但放在循环里调用出错,请高手指教rn-------------------------SQL-----------------rnCreate Table aaa(rn cid Varchar2(10),rn cName Varchar2(30)rn ) ;rn rn --package rn create or replace package testAAA rn is rn type resultData is ref cursor; rn procedure test1(cid in varchar2, cname in Varchar2); rn rn end; rn rn --package body rn create or replace package body testAAA rn is rn procedure test1(cid in Varchar2,cname in Varchar2) rn is rn begin rn Insert Into aaarn Values(cid,cname);rn rn end; rn end; rnrn-----------------VB--------------------------rnrnPrivate Sub Command1_Click()rn rn Dim cnDb As New ADODB.Connectionrn cnDb.ConnectionString = "Provider=MSDAORA.1;User ID=kjdate;PassWord=a;Data Source=ORCL_CKY;Persist Security Info=False;"rn cnDb.Openrn Dim cmd As New ADODB.Commandrn rn Dim i As Integerrn i = 0rn '注意,放在DO UNTIL 循环里出错,提示ORA-01036: 非法的变量名/编号 ,如果去掉循环就正常,为什么,应该如何改 rn Do Until i > 2rnrn cmd.ActiveConnection = cnDbrn rn cmd.CommandType = adCmdStoredProcrn cmd.CommandText = "testAAA.test1"rn cmd.Parameters.Append cmd.CreateParameter("cid", adLongVarChar, adParamInput, 1000, Text1.Text)rn cmd.Parameters.Append cmd.CreateParameter("cname", adLongVarChar, adParamInput, 1000, Text2.Text)rn rn cmd.Executern i = i + 1rnrn Looprn rn MsgBox "ok"rnrnEnd Sub
在DLL里使用图片资源文件出问题
我在做一个软件的时候有几个图片资源(bmp)放在程序里用下面的get_picture()运行很正常,但是图片太大了,于是我想放到DLL里(dll源程序如下),可是编译过了,调用DLL里的get_picture函数却在 bitmap->LoadFromResourceName((int)HInstance,"SRC1");//这里停住了,下面一句不执行了。哪位朋友帮我看看rn//---------------------------------------------------------------------------rnrn#include rn#include rn//---------------------------------------------------------------------------rn// Important note about DLL memory management when your DLL uses thern// static version of the RunTime Library:rn//rn// If your DLL exports any functions that pass String objects (or structs/rn// classes containing nested Strings) as parameter or function results,rn// you will need to add the library MEMMGR.LIB to both the DLL project andrn// any other projects that use the DLL. You will also need to use MEMMGR.LIBrn// if any other projects which use the DLL will be performing new or deletern// operations on any non-TObject-derived classes which are exported from thern// DLL. Adding MEMMGR.LIB to your project will change the DLL and its callingrn// EXE's to use the BORLNDMM.DLL as their memory manager. In these cases,rn// the file BORLNDMM.DLL should be deployed along with your DLL.rn//rn// To avoid using BORLNDMM.DLL, pass string information using "char *" orrn// ShortString parameters.rn//rn// If your DLL uses the dynamic version of the RTL, you do not need torn// explicitly add MEMMGR.LIB as this will be done implicitly for yourn//---------------------------------------------------------------------------rn#pragma argsusedrn#pragma resource "source.res" //这是我的资源文件rnextern "C" __declspec(dllexport) void __stdcall get_picture();rnint WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)rnrn return 1;rnrn//---------------------------------------------------------------------------rnrnvoid __stdcall get_picture()rnrn Graphics::TBitmap *bitmap=new Graphics::TBitmap;rn bitmap->LoadFromResourceName((int)HInstance,"SRC1");//这里停住了rn bitmap->SaveToFile("c:\\xy_temp.bmp");rn delete bitmap;rn
XP里的资源管理器出问题了?各位DD帮忙
进行一些操作以后,总是出现这样的错误提示,谁知道哪里出了问题,怎么能恢复正常。造成我平时使用很不方便。rnrn(不知道为什么这样,用过WINDOWS优化大师,打过XP1补丁,不知道是哪个造成的,是不是注册表哪里<em>出问题</em>了?)rnrnhttp://www.xfnews.net/user/harrypotter/11.gif
stl里的list在函数里面使用出问题
程序片段如下:rnlist A::B(list in)rnrn list li_out;rn li_out.push_back("1");rn return li_out;rnrn但是在实际调试过程中,走到return li_out这一句没有问题,但在往下走一步就报错:rnHEAP[test.exe]: Invalid Address specified to RtlValidateHeap( 00940000, 003E60B8 )rnWindows 已在 ***.exe 中触发一个断点。rn其原因可能是堆被损坏,这也说明 test.exe 中或它所加载的任何 DLL 中有 bug。rnrn各位大虾帮看一下有什么问题,谢谢!!!
SMARTY 分页的问题。帮忙看看里出问题
[color=#FF0000]共8条记录,第一页显示所有,第2页显示后5条,第3页也就是最后一页显示2条。高手帮忙看看哪里出错了。[/color]rn $pageCount)rn rn echo " ";rn echo " ";rn rn $prePage = $pageID -1;rn $nextPage = $pageID +1;rn /**每页起始记录值*/rn $pageStartNum = ($pageID == 1)?(0):(($pageID -1) * $pageSize);rn /**每页结束记录值*/rn $pageEndNum = $pageStartNum + $pageSize;rn /** 得到分页字符串链接 */rn if($pageID == 1)rn rn $pageLinks = '首页 | 上一页 | ';rn rn elsern rn $pageLinks .= "首页 | 上一页 ";rn rn if(($pageID == $pageCount) || ($pageCount ==0))rn rn $pageLinks .= ' 下一页 | 尾页 ';rn rn else rn rn $pageLinks .= '下一页 尾页';rn rnrn $smarty->assign("db",$rs);rn $smarty->assign('pageSize',$pageSize);rn $smarty->assign('recordNum',$recordNum);rn $smarty->assign('pageStartNum',$pageStartNum);rn $smarty->assign('pageEndNum',$pageEndNum);rn $smarty->assign('pageLinks',$pageLinks);rn rn $smarty->display("main.htm");rn ?>rnrnrnrn这是摸板的代码rn rn # section name=item loop=$Users max=$recordNum start=0 step=1 #rn # if ($smarty.section.item.index >= $pageStartNum )&& ($smarty.section.item.index <= $pageEndNum ) #rn rn # $db[item][0] # # $db[item][1] # # $db[item][2] #rn # $db[item][3] # # $db[item][4] # # $db[item][5] #rn rn # /if #rn # /section #
客户端把Excel导入DataGrid里出问题
我在服务器里把Excel导入DataGrid成功,可是在客户端就不行,谁预见过此问题,我是根据“孟宪会”的文章把“把Excel文件中的数据读入到DataGrid中”连接地址是rnhttp://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599rn
FastReprt里用sum函数出问题
在GroupFooter上放个Memo1,然后用sum函数:[SUM(,DetailData4)]rn出错了,错误是这样的:rn':',';'expectedrnMemo1运算错误'SUM(,DetailData4)]rn怎么解决呢?rn
这个HLSL 在 DX9.0里没问题 但在 最新DXSDK_Aug09 里出问题
rnmatrix ViewMatrix;rnmatrix ViewProjMatrix;rnrnvector AmbientMtrl;rnvector DiffuseMtrl;rnrnvector LightDirection;rnrn//rn// Global variables used to hold the ambient light intensity (ambientrn// light the light source emits) and the diffuse light intensity (diffusern// light the light source emits). These variables are initialized herern// in the shader.rn//rnrnvector DiffuseLightIntensity = 0.0f, 0.0f, 1.0f, 1.0f;rnvector AmbientLightIntensity = 0.0f, 0.0f, 0.2f, 1.0f;rnrn//rn// Input and Output structures.rn//rnrnstruct VS_INPUTrnrn vector position : POSITION;rn vector normal : NORMAL;rn;rnrnstruct VS_OUTPUTrnrn vector position : POSITION;rn vector diffuse : COLOR;rn;rnrn//rn// Mainrn//rnrnVS_OUTPUT Main(VS_INPUT input)rnrn // zero out all members of the output instance.rn VS_OUTPUT output = (VS_OUTPUT)0;rnrn //rn // Transform position to homogeneous clip spacern // and store in the output.position member. rn //rn output.position = mul(input.position, ViewProjMatrix);rnrn //rn // Transform lights and normals to view space. Set wrn // componentes to zero since we're transforming vectors rn // here and not points.rn //rn LightDirection.w = 0.0f;rn input.normal.w = 0.0f;rn LightDirection = mul(LightDirection, ViewMatrix);rn input.normal = mul(input.normal, ViewMatrix);rnrn //rn // Compute cosine of the angle between light and normal.rn //rn float s = dot(LightDirection, input.normal);rn if( s < 0.0f )rn s = 0.0f;rnrn //rn // Ambient light reflected is computed by performing a rn // component wise multiplication with the ambient materialrn // vector and the ambient light intensity vector.rn //rn // Diffuse light reflected is computed by performing a rn // component wise multiplication with the diffuse materialrn // vector and the diffuse light intensity vector. Furtherrn // we scale each component by the shading scalar s, whichrn // shades the color based on how much light the vertex receivedrn // from the light source.rn //rn // The sum of both the ambient and diffuse components givesrn // us our final vertex color.rn // rnrn output.diffuse = (AmbientMtrl * AmbientLightIntensity) +rn (s * (DiffuseLightIntensity * DiffuseMtrl));rn rn return output;rnrnrnrn错误提示:rn error X3025: global variables are implicitly constant, enable compatility mode to allow modificationrnrn新版本里都改了些什么呢?rn该如何处理,才行呢??
请问在ActiveX/com里用什么类代替CWnd?
请问在ActiveX/com里用什么类代替CWnd?
关于CWnd::MoveWindow()的理解?
我创建了一个单文档程序,并添加了一个菜单响应事件,事件创建了一个非模态的对话框,并显示在单文档程序的左下角,我是在CMainFrame类里面处理的菜单响应事件,显示对话框前,调用GetWindowRect(&rect)得到单文档程序的位置,然后移动pColourDlg->MoveWindow(rect.left,rect.bottom,rect.Width()/2,70);对话框刚好在左边底部显示,左边与单文档程序左边缘对齐,我的疑问是movewindow函数中的坐标应该是相对于父窗口的,创建这个对话框时指定其父窗口为CMainFrame,且rect.left并不等于0,为什么对话框会与单文档左边对齐,而不是应该偏移rect.left的位置吗?
关于CWnd::BringWindowToTop()
请教各位高手:rn 我在一个窗口中先后创建了两个子窗口(扑克牌),它们有一部分重叠,我发现后创建的窗口内的图形显示在上面,但是如果我点击重叠的区域时,我发现先创建的窗口得到了click消息。如果我在创建后对后创建的窗口调用BringWindowToTop()时,后创建的窗口反倒显示在下面,当然如果我点击重叠的区域时它还是能得到click消息。我很迷惑为什么我调用BringWindowToTop()反倒让它显示到下面去了。rn帮帮我吧!高手们!!
CWnd类的应用
比如说在 win32 application 环境下,怎么才能用到CWnd类的成员变量或函数
friend class CWnd;question
今天在看cjlib重写的ccjbutton类的时候,去CButton类中寻找一方法的原型的时候无意中看到一句代码:friend class CWnd;百思不得其解,在google百度上也都找不到相应的解答,特来此请高手解答。万分感谢!
cwnd::create的问题
我在使用这个函数的时候,出现返回无效句柄的错误,rnrn函数的调用形式如下:rnCWnd::Create(NULL, NULL, WS_VISIBLE|WS_CHILD, rc, pParentWnd, nID,NULL);rnrn出现的错误是Unhandled exception in VMRSS.exe(MFC42.DLL):0xC0000005:Access Violation.rnrn哪位高手能够给我解释一下出现这个错误的原因,以及如何排除,谢谢
CWND 滚动条 回滚
我的一个类,继承至CWND,默认的时候,滚动条是没用滚动条的,当现实的图片大于 CLIENTRECT 时,就显示滚动条。rnrn现在问题是,当我拉动滚动条的时候,只要一放开鼠标左键,滚动条就自动回到最左边了! rnrn用了 setSrollPos 也没用,还是会回到左边! 有哪位大大帮帮忙~
关于cwnd的问题
我希望使用cWnd类自画控件,希望指教
关于cwnd scrollbar的问题
rn请教大侠:一个View上绑定了一个派生自CListBox的MyListBox在MoveWindow里ShowScrollBar(TRUE)rnrn但是在调整View大小(就是用鼠标调整大小)后,滚动条的滑块大小不跟随改变,why? rnrn多谢多谢。
CWnd自绘问题
我从CWnd派生了一个类,把窗体属性设为了BS_OWNERDRAW,然后重载了OnDrawItem方法,但是OnDrawItem没有被执行到.rn我该怎么做自绘啊?
delete一个 CWnd* 问题
真奇怪,我create了一个窗口,不用了想删除,rn CRect RemoteRect(0,0,100,100);rn m_pRemoteWnd = new CWnd;rn m_pRemoteWnd->Create(...);rn删除时rn if ( m_pRemoteWnd )rn rn delete m_pRemoteWnd;rn m_pRemoteWnd = NULL;rn rn可是断点在delete前时这个窗口中的m_hWnd怎么调试信息中是“???”几个问号?导致delete错误。而且这种情况是随机发生的。只有在debug时才出错,直接运行就没错。rn
CWnd 怎么去除边框
自己写了个继承CWnd的类,用于在窗口创建一个区域,不过默认时这个区域是有边框的,想要去掉这个边框,要怎么改。
CWnd的CreateEx问题
virtual BOOL CreateEx(rn DWORD dwExStyle,rn LPCTSTR lpszClassName,rn LPCTSTR lpszWindowName,rn DWORD dwStyle,rn int x,rn int y,rn int nWidth,rn int nHeight,rn HWND hWndParent,rn HMENU nIDorHMenu,rn LPVOID lpParam = NULL rn);rnrnnIDorHMenurnIdentifies a menu or a child-window identifier. The meaning depends on the style of the window.rnrn这个nIDorHMenu什么时候是menu什么时候是child window?
CWnd::Detach()和Attach()的问题
我在以下代码中写:rn[code=C/C++]rnBOOL CMyDlg::OnInitInstance()rnrn ...rn RECT rc;rn rc.bottom=150;rn rc.left=100;rn rc.right=150;rn rc.top=100;rn CButton btn;rn btn.Create(_T("btn"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,rc,this ,100);rn HWND hd=btnn.GetSafeHwnd();rn btnn.Detach();rnrn return TRUE;rnrn[/code]rn结果报错,请问是为什么rn另外 我在CMyDlg中加私有变量 CButton btnn;rn[code=C/C++]rnrnBOOL CMyDlg::OnInitInstance()rnrn ...rn RECT rc;rn rc.bottom=150;rn rc.left=100;rn rc.right=150;rn rc.top=100;rn CButton btn;rn btn.Create(_T("btn"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,rc,this ,100);//100是控件IDrn HWND hd=btnn.GetSafeHwnd();rn btnn.Detach();//btnn是局部变量 到下面的括号将要析构rn btn.Attach(hd);rn btn.ShowWindow(SW_NORMAL);//这句不管加上还是不加上 都不显示按钮 为什么?rn //怎样才能显示这个窗口rnrn return TRUE;rnrn[/code]rn请问怎样才能显示窗口 在线,急!
关于CWND::CREATE()
有rnrnBOOL CControlRect::Create( WindowType wndType, LPCTSTR lpszWindowName , CWnd* pParentWnd, DWORD dwStyle, const CRect& Rect , UINT nID )rnrn if( Rect.IsRectEmpty() )rn return CWnd::Create( GetWindowClassName( wndType ), lpszWindowName , WS_CHILD | dwStyle | WS_VISIBLE, m_rect, pParentWnd, nID );rn elsern rn m_rect.CopyRect( & Rect );rn return CWnd::Create( GetWindowClassName( wndType ), lpszWindowName , WS_CHILD | dwStyle | WS_VISIBLE, m_rect, pParentWnd, nID );rn rnrnrn请问我在CVIEW中调用这个函数,我的CWnd* pParentWnd怎么获得.谢谢!
子窗体透明,CWnd继承
http://download.csdn.net/source/724314 修改了几个vs2005兼容的问题 BTW,感觉透明的不想子窗体,倒像是一个顶层窗口
WM_***和CWnd::***的区别
比如WM_QUERYNEWPALETTE是使用了WindowProc函数来处理rn而CWnd::OnQueryNewPalette rnafx_msg BOOL OnQueryNewPalette( );rn表面上是是否使用MFC的样子rn实际中有什么区别呢?都在什么情况下使用呢?rn谢谢rn
cwnd的消息处理问题
从<em>cwnd</em>派生出一个类,给它加入WM_TIME消息,请问,该消息是发到该类,还是整个应用程序?程序中还有其他<em>cwnd</em>类。如果只发到该类,那是不是程序中有多少<em>cwnd</em>类就有多少条消息链呢?在其他类中是不是就处理不料这个类的消息?要想发系统消息给应用程序该怎么办呢?rn多谢,答任意一点都有分
关于CWnd的一个成员函数
CWnd类的 UpdateWindow 函数可以 Updates the CLIENT arearnrn请问下,CWnd类中有没有一个函数可以更新整个程序的窗口rnrn谢谢
自定义CWND WM_KEYDOWN
我自定义;rnclass CBaseChart : public CWndrnrnrn类里央映射了啊,鼠标,键盘,绘制消息。rnrn在单文档View里面创建该CWndrn CRect rect;rn GetClientRect(&rect);rn //rect.InflateRect(-1, -1, -1, -1);rn m_BaseChart.Create(NULL, "BaseChart", WS_CHILDWINDOW | WS_VISIBLE, rect, this, 2048, NULL);rn在CBaseChart 类里面可以响应wm_paint, wm_mouse之类的消息,但是不可以响应wm_char, wm_keydown, wm_keyup,rnrnview类里面可以响应key消息, 为什么?rnrn
关于CWnd类的几个问题
今天下午写程序,碰到了一个问题,一直也想不明白,请大家帮忙给解释一下:rnrnrn很简单的一个项目:rn有一个文档,以及和这个文档相关联的视图.视图是CFormView的派生类,它有一个子窗口,是CDialog的派生类.现在要在doc类里面访问CDialog派生类的数据.rnrn我在一个doc类里面调用了GetNextView函数,得到了与文档相关联的视图,然后又用视图的GetTopWindow函数,得到这个view类的子窗口(CDialog的派生类),现在的问题是,可以访问这个子窗口的成员函数,但是在执行时程序报错.奇怪的是,如果在成员函数里面只写一句MessageBox("ok","info",0) 的话,就没问题,写别的语句就不行. 我又把GetTopWindow改成了GetWindow(GW_CHILD),情况是一样的,没有任何改变.rnrn最后我不得己,换成了GetActiveWindow,问题才得到彻底的解决.rn到底是为什么呢????rnrn还有就是,在用CDocument打开了一个文件后,程序的主框架发生了变化,包括框架窗口的标题,显示风格(本来是 sw_showmaximized,现在成了sw_shownormal)rnrn为什么呢?? 怎么可以改回来呢??rn还有就是如果我想系统学一下VC的话,买哪些书比较好呢?我手里现在有五六本手,好像都不太好.rn<>这本书上海哪里有的卖?rn谢谢!
MFC的窗口基类CWnd
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类!
关于CWnd和HWND
1. CWnd是MFC所有窗口类的基类.是一个类. 2. HWND窗口句柄. 3. CWnd中包含HWND的变量m_hWnd.
CWnd的问题请教
由CWnd派生的窗口类,在创建时,都需要调用CWnd::Create()或CWnd::CreateEx()。rnrn我想做一个窗口类,CWnd派生的,也想做一个类似CWnd的Create函数,可以由派生类调用。应该怎么做?必须是静态的方法吗?
class CAdjustSize : public CWnd
//定义文件rnclass CAdjustSize : public CWndrnrn DECLARE_DYNAMIC(CAdjustSize)rnrnpublic:rn CAdjustSize();rn virtual ~CAdjustSize();rnrnpublic:rn int m_pixelsX; //存入屏幕的宽度rn int m_pixelsY; //存入屏幕的高度rnrn CDC* m_pDC; //设备上下文对像rn HCURSOR m_hCursor; //光标句柄rn COLORREF m_backColor; //颜色对像,用来存放自定义的颜色rnpublic:rn afx_msg void OnTimer(UINT nIDEvent);rn afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);rn afx_msg void OnPaint();rn afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);rn afx_msg BOOL OnEraseBkgnd(CDC* pDC);rn afx_msg void OnLButtonDown(UINT nFlags, CPoint point);rnrn DECLARE_MESSAGE_MAP()rn;rn//实现文件rnIMPLEMENT_DYNAMIC(CAdjustSize, CWnd)rnrn//----------------------------------------------------rnCAdjustSize::CAdjustSize() //构造函数rnrnrn//----------------------------------------------------rnCAdjustSize::~CAdjustSize() //析构函数rnrnrn//----------------------------------------------------rnBEGIN_MESSAGE_MAP(CAdjustSize, CWnd)rn ON_WM_TIMER()rn ON_WM_KEYDOWN()rn ON_WM_PAINT()rn ON_WM_CREATE()rn ON_WM_ERASEBKGND()rn ON_WM_LBUTTONDOWN()rnEND_MESSAGE_MAP()rn//----------------------------------------------------rnrnvoid CAdjustSize::OnTimer(UINT nIDEvent)rn rn CWnd::OnTimer(nIDEvent);rnrn//----------------------------------------------------rnvoid CAdjustSize::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)rnrn if (nChar == VK_ESCAPE) //判断是否按下ESC键rn rn DestroyWindow(); //rn rnrn CWnd::OnKeyDown(nChar, nRepCnt, nFlags);rnrn//----------------------------------------------------rnvoid CAdjustSize::OnPaint()rnrn CPaintDC dc(this); rn //下面的代码用来实现显示数学曲线rn int x, y;rn static int s_nListXCoef = 1;rn static int s_nListYCoef = 3;rn static int s_nListYOffset = 44;rnrn ++ s_nListXCoef;rn ++ s_nListYCoef;rnrn for (float t = 0; tGetDeviceCaps(HORZRES); //获取屏幕的宽度rn m_pixelsY = m_pDC->GetDeviceCaps(VERTRES); //获取屏幕的高度rn MoveWindow(0, 0, m_pixelsX, m_pixelsY);rn return 0;rnrn//----------------------------------------------------rnBOOL CAdjustSize::OnEraseBkgnd(CDC* pDC) //重画背景窗口的背景rnrn m_backColor = RGB(255, 255, 255); //自定义颜色rn CBrush cb(m_backColor); //生成一个新的画刷,用自己的颜色刷新显示区域rnrn HBRUSH hOldBrush = (HBRUSH)pDC->SelectObject(&cb);rn RECT rect = 0, 0, m_pixelsX, m_pixelsY;rn pDC->FillRect(&rect, &cb);rn pDC->SelectObject(hOldBrush);rn cb.DeleteObject();rn return CWnd::OnEraseBkgnd(pDC);rnrn//----------------------------------------------------rnvoid CAdjustSize::OnLButtonDown(UINT nFlags, CPoint point)rnrn Invalidate(); //重画窗口rn CWnd::OnLButtonDown(nFlags, point);rnrn//----------------------------------------------------rn我现在重画一个窗体为全屏,请问怎么实现rnrn
CWnd窗口的全屏显示
MFC实现窗口的全屏显示,程序简单易懂,一看就会,对于初学者来说是个不错的选者。
CWnd的继承类的问题
我自己写了个类,继承了CWnd, 因为我这个类的用途主要是接受消息,处理消息,--既对我有用的就是消息机制,---但在我使用是发现错误了,--this是空的,句柄也是无效的,rnrn在网上找了以下,有的人说需要注册一个窗口类,--有必要吗?-我又不需要用到窗口?rnrn我看过别人写的一个继承了CWnd的类,能够使用消息,也是使用了create,真的需要这样做吗?----如果不希望这样做,如果需要实现我的目的又该如何做呢?
如何开发自己的CWnd?
想要写一个自己的Wnd类,但是不要从CWnd中继承,而是自己重新写一个,不知道怎么下手,请高手指点迷津。rn不从CWnd中继承是因为我要写一个控件,该控件用于delphi下开发。
MapReduce 设计模式下载
MapReduce 设计模式,深入理解MapReduce编程模式,更好的利用MapReduce模型 相关下载链接:[url=//download.csdn.net/download/hao119119/7066801?utm_source=bbsseo]//download.csdn.net/download/hao119119/7066801?utm_source=bbsseo[/url]
DirectX特效游戏程序设计源代码下载
DirectX特效游戏程序设计DirectX特效游戏程序设计DirectX特效游戏程序设计 相关下载链接:[url=//download.csdn.net/download/jk983294/2063949?utm_source=bbsseo]//download.csdn.net/download/jk983294/2063949?utm_source=bbsseo[/url]
JEDI Visual Component for delphi and c++ builder xe2下载
JEDI Visual Component for delphi and c++ builder xe2 相关下载链接:[url=//download.csdn.net/download/harvardfeng/3836353?utm_source=bbsseo]//download.csdn.net/download/harvardfeng/3836353?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的