VC
zhangjs0322
这个作者很懒,什么都没留下…
展开
-
list control不显示数据问题
<br />当从数据库查询并在list control中显示时,没有显示数据,通过调试发现已经从数据库中获得所查询的记录值,但就是不在listcontrol中显示。问题在于SetItemText()之前没有进行InsertItem(),所以在每次进行SetItemText()应该先InsertItem()一行或多行。代码如下:<br />CDataBase::Open();<br /> pRecordset=CDataBase::Query(strsql);<br /> int index=0;<br />原创 2010-12-06 13:06:00 · 5538 阅读 · 2 评论 -
VC获得显示器的分辨率、刷新频率等
#include "stdafx.h"int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){原创 2011-11-21 22:41:54 · 3528 阅读 · 0 评论 -
vc2005没有找到MSVCP80D.dll
VC2005运行win32控制台程序时出现“没有找到MSVCR80D.dll,因此这个应用程序未能启动”解决办法:项目->属性->配置属性->清单工具->常规->使用FAT32解决办法默认为“否”,改为“是”即可。原创 2011-05-02 21:20:00 · 1468 阅读 · 0 评论 -
VC获取屏幕分辨率大小
<br /> //以下两个函数获取的是显示屏幕的大小,不包括任务栏等区域<br /> int screenwidth=GetSystemMetrics(SM_CXFULLSCREEN);<br /> int screenheight=GetSystemMetrics(SM_CYFULLSCREEN);<br /> //以下两个函数获取的是真正屏幕的大小,即实际的大小<br /> int screenwidth_real=GetSystemMetrics(SM_CXSCREEN);<br /> int scr原创 2011-05-25 19:41:00 · 7165 阅读 · 0 评论 -
MFC菜单标记与取消
<br />菜单标记只能在框架类中使用<br />void CMainFrame::OnOriginimage()<br />{<br /> // TODO: 在此添加命令处理程序代码<br /> CtestApp *app=(CtestApp *)AfxGetApp();<br /> if (GetMenu()->GetSubMenu(5)->CheckMenuItem(0,MF_BYPOSITION)==MF_CHECKED)<br /> {<br /> GetMenu()->GetSubMenu(5原创 2011-05-25 19:54:00 · 2864 阅读 · 0 评论 -
CString字符串中的%百分号
<br />当在CString字符串中含有%百分号时,需要特殊处理。例如:<br /> if (strtmp=="%")//百分号需要做特殊处理,用两个就可以了<br /> {<br /> strtmp="%%";<br /> info.单位=strtmp;<br /> }<br /> else<br /> info.单位=strtmp;<br /> <br />然后再Format的时候就不会出错了原创 2011-02-23 18:39:00 · 7202 阅读 · 0 评论 -
VS2008中MFC的单独exe运行出错,但是从VS环境下打开运行没问题
<br />遇到一奇怪问题:做了一个基于对话框的MFC程序,当在VS环境下编译运行时一点问题没有,但是当在debug或者release目录下单独执行可执行.exe文件时出现runtime error错误。折腾了好久。该程序也没有依赖什么特殊的库。<br />偶然发现把debug和release目录删除后,再重新编译程序,再次在debug或者release目录下执行.exe文件时,正常运行,不再出现runtime error。但是仍不知道问题出在哪里,莫名奇妙。原创 2011-01-22 11:48:00 · 4277 阅读 · 1 评论 -
MFC对话框最小化到托盘
<br />1、在资源中的Icon中导入一个自己喜欢的图标,ID命名为IDR_MAINFRAME,将先前的IDR_MAINFRAME的图标删除掉;<br />2、在自己的Dialog头文件中定义一个变量 NOTIFYICONDATA m_nid,关于该结构体的具体信息可以查阅MSDN;<br />3、添加消息响应函数OnInitDialog(),并在该函数中添加以下代码,这样程序一启动,就在托盘中显示出了自己应用程序的图标。<br /> //---------------------------托盘转载 2011-01-22 22:07:00 · 15894 阅读 · 9 评论 -
VS2008 UNICODE编码 WCHAR 转换为char *
<br />strcpy()时报错,不能WCHAR 转换为char *。<br />则使用wcscpy_s()原创 2011-01-22 21:58:00 · 1151 阅读 · 0 评论 -
vs2008 Unicode编码CString转换为const char* 、int、void * 、LPWSTR
<br /> 1.CStringAm_ServerIP(m_ServerIP);//VS2008 Unicode CString 转 const char *<br /> //服务器地址信息<br /> SOCKADDR_IN addrSock;<br /> addrSock.sin_addr.S_un.S_addr=inet_addr(m_ServerIP);<br /> addrSock.sin_family=AF_INET;原创 2011-01-20 20:52:00 · 4979 阅读 · 1 评论 -
多线程线程处理函数中获取窗口类指针
<br />1.开启工作线程:在CMWSNMSDlg类中AfxBeginThread((AFX_THREADPROC)ClientSockWatchProc,(LPVOID)this); //开启线程 <br />2.线程处理函数:<br />DWORD WINAPI ClientSockWatchProc(LPVOID lpParam)<br />{<br /> CMWSNMSDlg * mwsnms=(CMWSNMSDlg *)lpParam;<br />//访问CMWSNMSDlg窗口类中的对象<br原创 2011-01-15 19:16:00 · 1919 阅读 · 0 评论 -
CPropertyPage::OnSetActive()和OnKillActive()函数:属性页切换时的处理函数
<br />CPropertyPage::OnKillActive<br />virtual BOOL OnKillActive();<br />返回值:<br />如果数据被成功更新则返回非零值;否则返回0。<br />说明:<br />当页不再是活动页时,框架调用此函数。重载这个成员函数来执行指定的数据确认任务。<br />此成员函数的缺省实现将对属性页中的控件所做的设置拷贝到属性页的成员变量中。如果数据没有被成功地更新,则属于一个对话框数据确认(DDV)错误,该页保持焦点。<br />在此成员函数成功原创 2011-01-15 09:45:00 · 6610 阅读 · 1 评论 -
VC调用C#的COM组件(DLL)
假设要进行二次开发的程序为 A.exe,要增加的功能使用增加DLL的方法来完成,设为Cdll.DLL,其中含有A、B、C等方法。 其中的方法A要用到C#类库Csharp.DLL中的方法A。要完成这个任务,参考网络上的各种方法与代码,总结其步骤如下:先用VS2008 C#类库项目写成含有A方法的DLL,并设置项目属性以进行COM的封装,然后用VC6 等写C代码进行调用。一、生成C#类库 Csharp.DLL(1)在Visual Studio 2008 中创建C#的类库项目 CSharp(2)实现的转载 2011-01-04 10:02:00 · 3822 阅读 · 0 评论 -
学会使用SafeArray
<br /> <br />学会使用SafeArray也是很重要的,因为在ADO编程中经常要用。它的主要目的是用于automation中的数组型参数的传递。因为在网络环境中,数组是不能直接传递的,而必须将其包装成SafeArray。实质上SafeArray就是将通常的数组增加一个描述符,说明其维数、长度、边界、元素类型等信息。SafeArray也并不单独使用,而是将其再包装到VARIANT类型的变量中,然后才作为参数传送出去。在VARIANT的vt成员的值如果包含VT_ARRAY|...,那么它所封装的就转载 2010-12-20 15:09:00 · 589 阅读 · 0 评论 -
SendMessage和PostMessage 的区别
<br />1、首先是返回值意义的区别,MSDN 里的声明:<br />LRESULT SendMessage(<br /> HWND hWnd,<br /> UINT Msg,<br /> WPARAM wParam,<br /> LPARAM lParam<br />);<br />BOOL PostMessage(<br /> HWND hWnd,<br /> UINT Msg,<br /> WPARAM原创 2010-12-20 10:34:00 · 1409 阅读 · 0 评论 -
AfxBeginThread参数问题
<br />调用时这句AfxBeginThread(ClientThread,(LPVOID)sockclient);报如下错:<br />error C3867: 'CSocketToClient::ClientThread': function call missing argument list; use '&CSocketToClient::ClientThread' to create a pointer to member<br /> <br />把ClientThread函数定义成static原创 2010-12-12 20:11:00 · 2574 阅读 · 0 评论 -
picture control显示静态图片的简单方法
<br />VS2008,对话框中使用picture control显示静态图片的简单方法:1)添加BITMAP资源。2)对话框中添加picture control控件,并设置属性,在属性栏Misc->Type设置类型为Bitmap。3)属性栏中Misc->Image属性设置为刚添加的BITMAP资源。原创 2010-12-06 18:39:00 · 1858 阅读 · 0 评论 -
CListCtrl::InsertColumn出错Debug Assertion Failed
<br />在对话框中有一list control控件,在子对话框的OnInitDialog()中对list control控件设置时报错,“Debug Assertion Failed!”,利用“@err,hr”在“Watch”输出调试定位错误提示“无效的窗口句柄”, “@err,hr 0x00000578 无效的窗口句柄。 unsigned long”<br /> <br />这是因为窗口的控件还没有被初始化完成就对其进行了设置造成。在子对话框的OnInitDialog()中加入CDialog::O原创 2010-12-06 10:18:00 · 2150 阅读 · 1 评论 -
error C2065: 'IDD_WEBCAM_DIALOG' : undeclared identifier对话框未定义
对话框ID存在却出现error C2065: 'IDD_WEBCAM_DIALOG' : undeclared identifier错误解决方法:加上头文件#include "resource.h"原创 2012-01-12 17:27:25 · 3866 阅读 · 0 评论