-
VC++读取AutoCAD格式的dxf文件
VC++编程实现读取AutoCAD格式的dxf文件,打开DXF文件后,本程序可放大、缩小预览效果。可以把本程序看作是一个打开DXF文件格式的查看器。源代码中的CadIO.dll文件请放在与编译后的Exe文件同级目录下。测试程序的源代码在cadDXFLibcadlib_srcCadLibTest目录下。
- 2022-07-01 21:46:50下载
- 积分:1
-
VC++ 6.0 实现选中项缩进的列表框
VC++ 6.0 实现选中项缩进的列表框,选中列表项后,该项缩进,文本显示为红色,自定义列表框控件,注意观察选中后的特性,重载控件的DrawItem函数。下面来看实现这一功能的代码段:
dc.Attach(lpDrawItemStruct->hDC);//获取列表框的DC
CRect rect(lpDrawItemStruct->rcItem);//获取列表框的矩形区域
COLORREF bk = dc.GetBkColor();//背景颜色
COLORREF fg = dc.GetTextColor();//系统文本颜色
if(lpDrawItemStruct->itemState & ODS_SELECTED)//该项被选中
{
bk = RGB(180,180,0 );//背景颜色
fg = RGB(255,0,0 );//红色文本
}
dc.SetTextColor(fg);
CBrush brush(bk);
dc.FillRect(&rect,&brush);
if (lpDrawItemStruct->itemState&ODS_SELECTED)
rect.left +=25;//缩进25个象素
int nBkMode = dc.SetBkMode( TRANSPARENT );
CString str;
GetText(lpDrawItemStruct->itemID,str) ;
dc.DrawText(str, &rect, DT_LEFT|DT_VCENTER);//显示文本
dc.SetTextColor(fg);
dc.SetBkMode( nBkMode );
dc.Detach() ;
- 2022-06-13 09:32:23下载
- 积分:1
-
VC++ 6.0 测试监听用户的鼠标事件
VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
- 2023-08-14 22:50:02下载
- 积分:1
-
VC 多种进制转换 二进制 十六进制等
VC++ 进制转换,可完成以下转换:转换十进制数,转换二进制数,转换十六进制数,转换十六进制为二进制,转换一位十六进制数为十进制,转换二进制为十六进制,位数不是四的倍数时补齐,每四位二进制数转换为一十六进制数,转换十进制为二进制,转换二进制为十进制等。
- 2022-01-25 23:55:04下载
- 积分:1
-
VC++ 6.0 演示如何获取打印份数
VC++ 6.0 演示如何获取打印份数,这个功能在平时的打印操作中,几乎每次都要设置一下,要不然打印机按打印一份处理,本程序可设置打印份数,将参数传递给打印机,一次可打印多份文档,代码超简单,有兴趣下载源码学习。
- 2022-03-24 22:43:51下载
- 积分:1
-
VC++ 使用用户界面线程实现软件的片头效果
用户界面线程:使用用户界面线程实现软件的片头效果,这个效果大家都熟悉,就是软件打开的时候,显示一个静态或动态的界面,也可能是一张图片,等待软件全部加载完后进入软件主界面,本例中实现的这种软件启动画面是基于用户界面线程实现,运行效果如图所示。
- 2022-10-29 11:50:03下载
- 积分:1
-
VC++ 源码演示雷达工程数据的可视化与处理
VC++综合实例源码,演示雷达工程数据的可视化与处理,这个源代码来自一本VC++书籍中,不知道现在是否还可以用,里面雷达测试文件,不过我没有调试成,源代码文件是比较完整的,大部分代码中都有注释,你可以了解一些关于雷达数据读娶界面标尺运用、鼠标操作控制、坐标的显示与控制、映射模式(像素)、鼠标位置标识、BMP格式重新排列数据、滚动窗口、内存控制等多个方面的操作技巧,是一个比较综合的VC++学习实例。
- 2023-03-01 01:05:04下载
- 积分:1
-
VC++6.0 窗口过程函数及消息发送、响应测试实例
VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:
⑴自定义消息:
在Resource.h文件中自定义消息:#define WM_MYMSG 2000
⑵添加窗口过程函数的声明和实现体:
①在.h文件中添加窗口过程函数声明:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
②在.cpp文件中添加窗口过程函数实现体:
⑶发送消息的方式比较:
①this->SendMessage(WM_MYMSG,0,0);
②this->PostMessage(WM_MYMSG,0,0);
③this->SendNotifyMessage(WM_MYMSG,0,0);
这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。
- 2023-03-05 04:00:03下载
- 积分:1
-
VC 创建内存映像文件对象并使用
VC++6.0 创建内存映像文件对象并使用,实现了写入内存映射文件和从内存映射文件中读取数据,比如将数据从内存映射文件读出,实现方法如下:
void CFileMapTransTxtDlg::OnRead()
{
//创建内存映像对象
HANDLE hMapping;
LPSTR lpData;
hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0x100,"MYSHARE");
if(hMapping==NULL)
{
AfxMessageBox("CreateFileMapping() failed.");
return;
}
//将文件的视图映射到一个进程的地址空间上,返回LPVOID类型的内存指针
lpData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);
if(lpData==NULL)
{
AfxMessageBox("MapViewOfFile() failed.");
return;
}
//给这段映像内存的数据赋给本地变量
m_strDest.Format("%s",lpData);
//释放映像内存
UnmapViewOfFile(lpData);
//更新数据
UpdateData(FALSE);
}
- 2022-05-17 02:25:47下载
- 积分:1
-
VC++ gethostbyname获取主机名和IP地址
VC++ 获取主机名和IP地址,也就是根据主机名获得IP地址,使用了gethostbyname函数,然后再使用addr.Format格式化获取到IP地址。具体来看以下代码获取到IP地址:
// 获得主机ip地址
struct hostent * phost;
phost = gethostbyname(szhostname);//根据主机名获得IP地址
m_strName=szhostname;
int h_length=4;
for( int j = 0; j {
CString addr;
if( j > 0 )
str += ".";
addr.Format("%u", (unsigned int)((unsigned char*)phost->h_addr_list[0])[j]);
str += addr;
}
m_strIP=str;
- 2022-11-09 11:50:03下载
- 积分:1