VC++笔记
hanjiangying
这个作者很懒,什么都没留下…
展开
-
VC绘制不规则窗口(只适合对话框程序)
用BMP位图绘制不规则窗口(只适合对话框程序):原理就是把一张BMP位图上的指定颜色的像素点抠掉,其他地方正常显示,由此生成一个窗口区域,这样就可以实现不规则窗口了;首先要有一张BMP图片,在上面绘图软件在上面绘好你要显示的内容,然后把你不想要显示的部分全部用一种颜色填充(注意,这种颜色只能出现在你想抠掉的区域中,如果其他地方也有这种颜色,那么到时候也会把哪些地方给抠掉).h头文件中声明:【原创 2010-04-15 12:02:00 · 2108 阅读 · 0 评论 -
VC防止同一个程序运行两个实例
防止同一个程序运行两个实例:在app类的cpp的InitInstance函数中:HANDLE hMutex;BOOL CDeskTopLockApp::InitInstance(){ CString strName = _T("DeskTopLockApplication"); hMutex = OpenMutex(MUTEX_ALL_ACCESS, fal转载 2010-04-15 22:36:00 · 1157 阅读 · 1 评论 -
VC读取utf-8格式文本文件
读取UTF-8格式文本文件去掉文件头的三个字节,先将文本数据读到char数组之中,然后将多字节UTF8字符串转换成宽字符的UNICODE字符串,然后将UNICODE字符串转换成char型字符串或者直接复制到CString中(UTF-8和char都属于MultiByte char,不能直接相互转换)BOOL ReadUTF8StringFile(CString Path, CString原创 2010-04-15 22:35:00 · 4240 阅读 · 0 评论 -
VC得到可用的串口列表
//枚举串口//参数:bEnablePort,哪个串口有效,bEnablePort[0]表示COM1,bEnablePort[n-1]表示COMn//返回值:有效的串口个数int EnumAllComPort(bool* bEnablePort){ int nCommSum = 0;//串口个数 HANDLE hCom; CString str原创 2010-04-15 22:33:00 · 3035 阅读 · 2 评论 -
vc2005 unicode下 cstdiofile无法写入中文的问题
VC2005 UNICODE下 CStdioFile无法写入中文的问题具体原因没弄太清楚,只是知道怎么解决按照如下先后顺序执行写操作:#include locale>//头文件CStdioFile file;file.Open(…);char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) );set原创 2010-04-15 22:32:00 · 834 阅读 · 0 评论 -
unicode 下字符类型的转换
UNICODE 下字符类型的转换:Unicode与char型(宽字符与窄字符)转换:void WCharToAChar(wchar_t* wchar_src, char* str_dst,int size) //Unicode转char{ memset(str,0,size); DWORD flag=WideCharToMultiByte(CP_OEMCP,NU原创 2010-04-15 21:55:00 · 671 阅读 · 0 评论 -
VC编写任务栏右下角图标程序
任务栏右下角图标程序:在CMainFrame头文件中定义变量: NOTIFYICONDATA nid;在OnCreate函数中或者初始化函数中:nid.cbSize = sizeof(NOTIFYICONDATA);nid.hWnd = m_hWnd;nid.uID = IDI_SYSTEMTRAY; //图标的IDnid.uFlags = NIF_MESS原创 2010-04-15 22:37:00 · 1904 阅读 · 0 评论 -
动态添加菜单/菜单项、子菜单、右键菜单
动态添加菜单/菜单项、子菜单、右键菜单有关菜单的操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。 不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服。 若是SDK编程,那就用API吧 。CMenu menuMain,menu1; //首先 定义CMenu对象一、创建菜单,有两种方法1.用LoadMenu函数从转载 2010-04-15 22:34:00 · 1350 阅读 · 0 评论 -
CImage从资源中加载图片文件
CImage从资源中加载图片文件CImage直接加载图片文件倒是好办,直接用Load函数就可以,但是如何从工程资源中添加jpg、gif、png等图片呢?用下面这个函数BOOL CDDCDlg::LoadImageFromResource(ATL::CImage *pImage, UINT nResID,LPCTSTR lpTyp){ if ( pImage == NU原创 2010-04-15 16:48:00 · 3056 阅读 · 0 评论 -
VC释放资源到文件
释放资源到文件有时候程序运行时需要调用某些DLL或者其他程序,而为了发布时方便将这些DLL或者EXE添加到了资源中一起编译。运行时再把这些资源释放到文件中即可。那如何释放资源到文件中呢?用下面这个函数:BOOL CXXXDlg::ReleaseResFile(CString strFileName, UINT wResID, CString strFileType){ /转载 2010-04-15 22:38:00 · 927 阅读 · 0 评论