
C++
一顿操作猛如虎,啥也不是!
时间,是让人猝不及防的东西,晴时有风阴有时雨。岁月是一场有去无回的旅行,好的坏的都是风景
展开
-
C++获得主机名和IP
char name[128]; hostent* pHost; gethostname(name, 128);//获得主机名 pHost = gethostbyname(name);//获得主机结构 本地IP = inet_ntoa(*((in_addr *)pHost->h_addr)转载 2014-11-13 11:36:05 · 1859 阅读 · 0 评论 -
CSpinButtonCtrl 增大减小控件
CSpinButtonCtrl 是vc中的spin控件,“旋转按钮控件”(也称为上下控件)是一对箭头按钮,用户点击它们来增加或减小某个值,比如一个滚动位置或显示在相应控件中的一个数字。一个旋转控件通常是与一个相伴的控件一起使用的,这个控件称为“伙伴窗口”。一个旋转按钮控件可以自动定位在它的伙伴窗口的旁边,看起来就像一个单一的控件。设置属性:Auto Buddy(自动转载 2014-11-13 14:44:42 · 783 阅读 · 0 评论 -
编辑编译
编辑和编译是完全不同的概念,,编辑 是指程序代码、界面等的输入、构建,编辑等,在这期间,开发工具会对输入的代码进行一般的语法检查等,,在可视化以前的开发环境下,主要是指代码的输入、编辑。编译是指 开发工具的编译程序对编辑过的代码进行转换,以便生成可以执行的代码文件,在可视化以前的开发环境下,编译都是在编辑工作完成以后进行的。编辑相当于洗菜切菜炒菜,编译相当于菜炒好了装盘子,发布相当于端盘子上桌原创 2014-11-13 08:47:05 · 1144 阅读 · 0 评论 -
四行代码MFC实现电脑关机
作者 : 卿笃军原文地址:http://blog.youkuaiyun.com/qingdujun/article/details/12925087今天同学要我帮他写一个控制计算机关机的软件,要求关机时间要自己设定。。 这个程序是基于MFC对话框的,就四行代码:添加在按钮确定下面[cpp] view plaincopyprint?转载 2014-11-13 11:34:24 · 3117 阅读 · 0 评论 -
关于VS2008的错误:mt.exe : general error c101008a
我用VS2008编写VC程序后编译,编译结果如下: 1>------ Build started: Project: Draw, Configuration: Debug Win32 ------ 1>Embedding manifest... 1>mt.exe : general error c101008a: Failed to save the updated manifest转载 2014-11-13 16:30:37 · 1309 阅读 · 0 评论 -
Mutex与Event控制互斥事件的使用详解
最近写一程序,误用了Mutex的功能,错把Mutex当Event用了。【Mutex】 使用Mutex的主要函数:CreateMutex、ReleaseMutex、OpenMutex、WaitForSingleObject、WaitForMultipleObjects。 CreateMutex:其中第二个参数是表示当前线程拥有权。 TRUE:创建线程获得初始所有权的互斥对象转载 2014-11-14 13:12:46 · 1339 阅读 · 0 评论 -
端口
端口是一种抽象的软件结构,原创 2014-11-14 20:31:08 · 528 阅读 · 0 评论 -
如何给线程发送消息
与窗口消息不同,线程消息用ON_THREAD_MESSAGE来映射,发送消息用PostThreadMessage函数。详述如下:1. 声明一个派生自CWinThread的类,例如CMyThread类。 在类的声明中(.h头文件)加入消息处理函数 afx_msg void AFX_MSG_CALL OnReset(WPARAM wParam, LPARAM lParam); //转载 2014-11-16 21:37:52 · 2553 阅读 · 0 评论 -
MFC中注册WNDCLASS样式并建立窗口
如果程序主窗口不是由CframeWnd派生而来,而是由CWnd派生而来,那么在创建窗口的时候,必须注册自己的WNDCLASS,因为CWnd::CreateEX不接受NULL WNDCLASS名称。这种情况下,注册WNDCLASS样式半建立窗口有两种方式。方式一,定义一个WNDCLASS结构实例,并对每个字段进行初始化,然后调用::RegisterClass或者MFC的全局函数Afx转载 2014-11-16 10:31:40 · 958 阅读 · 0 评论 -
自己留用,鼠标双击和单击
void CToolBoxTestDlg::OnLButtonDown(UINT nFlags, CPoint point){ //这里解决了双击时候又触发单击操作的问题// TODO: 在此添加消息处理程序代码和/或调用默认值 MSG message;//鼠标单双击DWORD st= GetTickCount();while(1){if (::PeekM原创 2014-11-17 14:06:58 · 787 阅读 · 0 评论 -
ListCtrl Checkbox多选问题
ListCtrl Checkbox多选问题需求与目标:标准的Listctrl是支持多选的,但这个多选只是把那些选中行变成高亮而已,我想要的效果是像svn提交代码的那个listctrl那样:1.可以用鼠标框选,可以按ctrl或shift进行组合选择.这是listctrl本身支持的,只要设置对了风格就没问题,这个不是重点,跳过 :) 2.在选择了多行之后,点击鼠标或按下空格,能转载 2014-11-19 11:28:33 · 2197 阅读 · 0 评论 -
CListCtrl的用法总结
1 CListCtrl的风格CListCtrl的风格有四种:LVS_ICON: 为每个item显示大图标LVS_SMALLICON: 为每个item显示小图标LVS_LIST: 显示一列带有小图标的itemLVS_REPORT: 显示item详细资料分别对应着资源管理器查看菜单下的大图标,小图标,列表,详细资料。可以在控件属性视图下设置:View属性.也转载 2014-11-19 13:51:57 · 1149 阅读 · 0 评论 -
VC控件ListCtrl的使用方法总汇
以下未经说明,listctrl默认view 风格为report ------------------------------------------------------------------------------- 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标转载 2014-11-19 13:30:09 · 799 阅读 · 0 评论 -
自己留看ocx
1. 在对话框上插入Active控件2.在类向导里添加ocx类原创 2014-11-20 13:49:40 · 550 阅读 · 0 评论 -
导航栏闪烁问题解决归纳
使用双缓存刷图的前提下,Win7系统还是出现闪烁,后来通过以下三点解决问题1. AfxRegisterWndClass注册Wnd时设置画刷为黑色2. OnEraseBkgnd 直接返回true3. 右键软件exe,,将兼容性中的禁止桌面元素打上√,禁止掉转载 2014-11-25 17:35:28 · 2155 阅读 · 0 评论 -
Create OnCreate OnInitialUpdate OnCreateClient 构造函数之间关系
1.OnCreate在OnCreateClient之前执行, 一些操作只能放在OnCreateClient中执行, 比如分割窗口。只有当你想改变CCreateContext结构中的数值时才需重写(override) OnCreateClient.其它情况下,不要重写!(在创建分割窗口时因为修改了m_pLastView,所以要重写)重写中,不要修改CREATESTRUCT结构(尽管它是OnCre转载 2014-12-01 14:08:11 · 1094 阅读 · 0 评论 -
变量名是否占用内存空间?
变量:用来标识(identify)一块内存区域,这块区域的值一般是可以更改的,这就是它“变”的由来,但是我们可以通过使用如const等一些修饰符号来限定这一内存区域的操作特性(characteristic),即变量的操作特性。用const修饰的使变量不能更改的就和常量一样的变量叫做常变量。变量名:是一个标识符(identifier),用来指代一块内存区域,即变量,使用变量使我们操作内存以区域(转载 2014-12-21 14:43:34 · 4633 阅读 · 0 评论 -
缓解快速开图时,键盘打字卡住的问题
//缓解快速开图时,键盘打字卡住的问题MSG msg;while(::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){::TranslateMessage(&msg);//传递键盘消息::DispatchMessage(&msg);//传递窗口消息}Sleep(150);原创 2014-12-22 10:03:47 · 781 阅读 · 0 评论 -
DR,CR,DX区别
DR是digital radiography。就是数字拍片。DR拍摄完病人的图像需要通过网络发送出去,比如诊断平台,打印胶片的设备。医疗的网络传输协议叫DICOM。DX是DICOM传送图像模式的一种模式,在模式(modality)里有DX CR RF XA等等,其中DX对应的是DR的图像,DX模式的图像不仅包含图像的灰度等信息,病人的姓名年龄等,还包括体位信息(比如病人拍照时正向站着,还转载 2014-12-22 17:03:19 · 10474 阅读 · 0 评论 -
Invalidate 和 UpdateWindow
Invalidate1介绍编辑void Invalidate( BOOL bErase = TRUE );参数: bErase 决定了是否要在WM_PAINT消息前发送WM_ERASEBKGND该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时W转载 2014-12-22 15:38:39 · 566 阅读 · 0 评论 -
64位Win7下Toad for Oracle 连接Oracle报错Ora-12154:TNS:无法解析指定的连接描述符
64位Win7 下 Toad for Oracle 连接Oracle报错Ora-12154:TNS:无法解析指定的连接描述符环境说明:windows7 64位专业版,安装Oracle 9i的32为客户端,Toad for Oracle安装了9.6和11.2的32位版Sqlplus可以正常连接数据库,使用Toad出现无法解析指定的连接描述符,据说PLSQL Developer win转载 2014-12-22 15:45:43 · 1680 阅读 · 0 评论 -
启动别的exe
CString strWndName;strWndName = L"";CString strExeName;TCHAR szFilePath[MAX_PATH + 1];GetModuleFileName(NULL, szFilePath, MAX_PATH);(_tcsrchr(szFilePath, _T('\\')))[1] = 0;m_strMFPath.Format(L"原创 2014-12-25 10:17:13 · 548 阅读 · 0 评论 -
COM组件调用例子
// DlgAndButtonOnsizeDlg.cpp : 实现文件//#include "stdafx.h"#include "DlgAndButtonOnsize.h"#include "DlgAndButtonOnsizeDlg.h"#include "afxdialogex.h"#import "./include/ComDicomNet.dll" no_namespac原创 2014-12-26 16:31:23 · 680 阅读 · 0 评论 -
图像数据生成Raw用ImageJ查看
BITMAP bitmapH; ::GetObject(m_hBitmap, sizeof(BITMAP), &bitmapH); BYTE* pOrigial = (BYTE*)bitmapH.bmBits; FILE *fp3 = fopen("C:\\IfcviewpB333","wb"); fwrite(pOrigial, clientwidth*clienthei原创 2014-12-26 10:04:03 · 5479 阅读 · 0 评论 -
CAsyncSocket与CSocket的区别-同步和异步socket
MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者是异步通信,后者是同步通信;前者是非阻塞模式,后者是阻塞模式。另外,异步非阻转载 2015-02-04 16:21:14 · 1622 阅读 · 1 评论 -
C++ socket编程 实现服务端与客户端的通讯
服务器端程序:[cpp] view plaincopy// Server.cpp : Defines the entry point for the console application. // #include "winsock2.h" #pragma comment(lib, "ws2_32.lib转载 2015-02-04 15:25:34 · 905 阅读 · 0 评论 -
网络编程——基于消息的异步套接字编程
Windows套接字在两种模式下执行I/O操作,一种是阻塞模式,一种是非阻塞模式。在阻塞模式下,在I/O操作完成之前,执行I/O操作的Winsock函数会一直等待下去,不会立即返回程序,将控制权交回程序。在非阻塞模式下,Winsock函数都会立即返回。 在阻塞模式下编程,我们虽然可以使用各种技术使程序顺利运行,例如使用多线程技术。但是如果使用阻塞模式,当某一线程一直等待的话,就会一直转载 2015-02-04 15:39:40 · 2148 阅读 · 0 评论 -
一段对话框位置设定MoveWindow
CRect rtWork; SystemParametersInfo(SPI_GETWORKAREA, 0, &rtWork, 0); ::MoveWindow(this->GetSafeHwnd(), rtWork.right/3, rtWork.top, rtWork.Width()*2/3, rtWork.Height(), true);原创 2014-12-30 09:39:20 · 1051 阅读 · 0 评论 -
C++标准库set类型
set容器只是单纯的键的集合,键必须为一。set容器不支持下标操作,而且没有定义maped_type类型。在set容器中,value_type不是pair类型,而是与key_type类型相同的类型。1.在set中添加元素set set1;set1.insert("the");set1.insert("end"); 也可以添加一对迭代器,如下:set1.insert(set33.begin(),se转载 2015-01-20 15:57:01 · 1131 阅读 · 0 评论 -
动态创建对话框WND形式
/////////////////////////////////////////////////////3DCutWnd.cpp////////////////////////////////////////////////////////////////////////////////////////////////#include "stdafx.h"#include "3DCutWnd.原创 2015-01-15 16:31:59 · 702 阅读 · 0 评论 -
HBRUSH
HBRUSH hbr;第一种: hbr= CreateSolidBrush(RGB(255,0,0)); //单色的画刷第二种: hbr= (HBRUSH)GetStockObject(BLACK_BRUSH); //只能取特定颜色的画刷,如BLACK_BRUSH,GRAY_BRUSH等刷第三种: hbr= CreatePatternBrush(HBITMAP hbmp);转载 2015-01-20 16:27:20 · 2952 阅读 · 0 评论 -
PeekMessage与GetMessage的对比
PeekMessage与GetMessage的对比相同点:PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中的消息派发出去。不同点:无论应用程序消息队列是否有消息,PeekMessage函数都立即返回,程序得以继续执行后面的语句(无消息则执行其它指令,有消息时一般要将消息派发出去,再执行其它指令)。Get转载 2015-02-07 15:05:15 · 459 阅读 · 0 评论 -
怎么用VS2010写C语言程序
怎么用VS2010写C语言程序|浏览:23849|更新:2012-09-11 12:331234567分步阅读大家或许都知道,用VS2010(Microsoft Visual Studio 2010)可以写C语言程序。可是在新建项目的时候怎么就没有找到C语言这个选项呢转载 2015-02-15 14:39:01 · 6480 阅读 · 0 评论 -
增加带有毫秒的日志log
#include #include CString file_path = L"C:\\HHTmp\\DicomTmp\\send.txt"; CTime Tm=CTime::GetCurrentTime(); int nYear,nMonth,nDay,nHour,nMinute,nSecond,nMinSecond; CString g_szDate原创 2015-02-05 08:46:47 · 1051 阅读 · 0 评论 -
c++指针详解
指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: int *ptr; char *ptr; int **ptr; int (*pt转载 2015-02-16 22:22:37 · 549 阅读 · 0 评论 -
win7、XP下ftp服务器配置方法
一、WIN7下 1、到控制面板---程序---打开或关闭windows功能,列表内找到Internet信息服务(展开)---选中FTP的三个项 2、到控制面板---系统和安全---管理工具---Internet 信息服务(IIS)管理器---右键点你计算机名称那里,选择添加FTP站点 3、FTP站点名称输入:"localhost"---选择你的FTP目录物理路径,点下一步---Ip地址选“自己的转载 2014-11-06 15:32:41 · 1210 阅读 · 0 评论 -
VC创建空文档失败问题一例
偶遇VC创建空文档失败,如下图所示,仅供参考,问题原因:确认电脑显卡是否是多个,如果是多个,禁用掉一个,重启电脑再次运行!原创 2015-01-05 17:45:42 · 2463 阅读 · 0 评论 -
异步套接字
一、TCP/IP 体系结构与特点 1、TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1)(图1.1) IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP, UDP提供分组发送转载 2015-01-23 10:35:08 · 1163 阅读 · 0 评论 -
多线程中不可以使用Messagebox
MessageBox是属于CWnd的成员函数,根据C++的继承和多态,当你从Cwnd派生一个类的时候,自动派生一个MessageBox出来,所以你在CWnd派生类中调用MessageBox其实是调用的他自己的MessageBox。这个你懂的。而AfxBeginThread创建一个新线程,其实的过程函数已经脱离窗口本身,过程函数必须使用全局函数或是静态函数,这个你也懂的。而静态函数只能调用静态函数或转载 2015-02-13 16:56:04 · 5533 阅读 · 0 评论 -
GDI+ for VC6 MFC
五年前,笔者曾在C#中使用GDI+开发程序,对其颇有好感。这一段时间,在使用VC6作图时,深切感会到使用GDI的种种不便,不比GDI+好用。沉迷于VC6的高效与轻便,不想只为了一个GDI+而被迫安装沉甸甸的.Net,便产生了一个疑问,难道GDI+只能用于.Net中吗?访问微软的MSDN网站后,随即解开了此谜。于是便有了此文 – 如何在VC6 MFC中使用GDI+。GDI+可应用于二转载 2015-01-26 13:36:35 · 717 阅读 · 0 评论