`
jgsj
  • 浏览: 1028303 次
文章分类
社区版块
存档分类
最新评论

我的vc++问题集1

 
阅读更多

1.如何创建提示窗口
1、子类化EDIT控件
class CMyEdit: Public CEdit

2、在此子类中定义一个
CToolTipCtrl m_tooltip;

3、重载函数
void CMyEdit::OnCreate();
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point);
BOOL CMyEdit::PreTranslateMessage(MSG* pMsg);

4、OnCreate中添加初始化代码
int nFontSize = 40;
int nFontBold = 800;
m_tooltip.Create(this,TTS_ALWAYSTIP);

//m_tooltip.SetFont(&fontText);
//将CToolTipCtrl与相应的控件对应起来
m_tooltip.AddTool(this,TTS_ALWAYSTIP);
//设定文字的颜色
m_tooltip.SetTipTextColor(RGB(0,150,20));
//设定提示文字在控件上停留的时间
m_tooltip.SetDelayTime(150);

5、PreTranslateMessage函数中添加代码:
if(m_tooltip.m_hWnd!=NULL)
m_tooltip.RelayEvent(pMsg);

6、OnMouseMove(UINT nFlags, CPoint point)函数中添加代码:
CString strtip;//你想要显示的内容
m_tooltip.UpdateTipText(strtip,this);
2.增加属性页的方法有:
(1) 用CTabCtrl类中的InsertItem方法。
(2)
CPropertySheet sheet("属性页对话框");
CPage1 page1;//CPage1为CPropertyPage派生出来的类
CPage2 page2;//CPage2为CPropertyPage派生出来的类
sheet.AddPage(&page1);
sheet.AddPage(&page2);
sheet.DoModal();
3.设置标题:(这只能在CDocument中)
调用this->SetTitle("标题");函数就行。

4.设置对话框的图标:
调用this->SetIcon(AfxGetApp()->LoadIcon(图标ID),TRUE);

5.在对话框中如何增加状态栏:
在类中定义一个CStatusBar m_StatusBar 变量
在初始化函数中调用m_StatusBar.Create(this)创建状态栏
添加状态栏面板
UINT Indicates[6];
for (int i = 0; i<6;i++)
{
Indicates[i] = 50+i;
}

m_StatusBar.SetIndicators(Indicates,6);

CRect rect;
GetClientRect(rect);

UINT PaneWidth = rect.Width()/6;
设置面板宽度
for(int n = 0;n<6;n++)
{
m_StatusBar.SetPaneInfo(n,50+n*10,SBPS_NORMAL,PaneWidth);
}
设置状态栏面板文本
m_StatusBar.SetPaneText(0,"用户名称");
m_StatusBar.SetPaneText(1,"明日科技");
m_StatusBar.SetPaneText(2,"状态");
m_StatusBar.SetPaneText(4,"日期");
重新定位
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

6.如何把一个BMP图片设置为背景:
CDC* pDC = GetDC();//用于指向当前设备
CDC mDC;
CBitmap bitmap;//用于存储bmp图片
bitmap.LoadBitmap(IDB_BITMAP1);//下载BMP图片
BITMAPINFO bInfo;//定义位图信息
bitmap.GetObject(sizeof(bInfo),&bInfo);获取位图信息

mDC.CreateCompatibleDC(pDC);//创建一个与指定设备兼容的内存设备上下文环境(DC).
mDC.SelectObject(&bitmap);//把位图加载到设备上下文中
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),
&mDC,0,0,bInfo.bmiHeader.biWidth,
bInfo.bmiHeader.biHeight,SRCCOPY);//从源矩形中复制一个位图到目标矩形。

如下代码也能实现同样的功能:
CPaintDC dc(this);
CRect rect;
GetWindowRect(&rect);
CDC memDC;
CBitmap cBitmap;
CBitmap* pOldMemBmp=NULL;
cBitmap.LoadBitmap(IDB_BITMAP1);
memDC.CreateCompatibleDC(&dc);
pOldMemBmp=memDC.SelectObject(&cBitmap);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);
if(pOldMemBmp)memDC.SelectObject(pOldMemBmp);

7.CAnimateCtrl控件可以播放无声的avi动画

8.如何设置状态栏的最低高度:
调用:m_StatusBar.GetStatusBarCtrl().SetMinHeight(50)函数即可。

9.滚动字幕的实现
在状态栏中实现滚动字幕,可以利用静态文本控件实现。在状态栏中显示一个静态文本控件,
然后每隔一段时间调整静态文本控件的位置,即可实现滚动字幕的效果。
相关的调用函数有:MoveWindow();

10.关于OnCmdMsg函数
这函数是由框架调用的。如果一个类继承CListCtrl类,其中也可以相应OnCmdMsg函数.

分享到:
评论

相关推荐

    VC++ windows运行环境合集(VC++2005-VC++2022)

    总的来说,VC++ Windows运行环境合集是解决程序运行依赖问题的有效工具,它使得开发者可以轻松地在各种Windows系统上部署和运行他们的C++程序,尤其是那些基于MFC框架的应用。正确地管理和使用这些运行库,能够保证...

    VC++允许库合集,解决未能加载文件或程序集CefSharp.Core.dll问题

    总之,"VC++允许库合集"是解决C++应用程序依赖问题的关键,而“未能加载文件或程序集CefSharp.Core.dll”通常是由于缺少运行库支持或配置不当所致。通过正确安装和配置VC++运行库,以及检查CefSharp的部署情况,通常...

    计算机问题集vc++ASP

    计算机问题集VC++ ASP是一个资源包,包含了初学者在学习VC++和ASP编程时可能会遇到的问题及解答。这个集合对于那些刚开始接触这两种技术的人来说是非常有价值的,因为它提供了实践中的常见问题和解决方案,帮助他们...

    VC++常用数值算法集

    在编程领域,尤其是在科学计算和工程应用中,...综上所述,"VC++常用数值算法集"涵盖的内容丰富多样,是解决各种数学问题和工程计算的强大工具箱。通过理解和掌握这些算法,开发者能够编写出高效且精确的数值计算程序。

    VC++各版本合集2005-2017

    此外,此版本引入了新的诊断工具,帮助开发者检测并修复性能问题。 **VC++2013**加强了C++14标准的支持,比如通用初始化语法、可变模板参数列表等。同时,它在调试和性能分析方面有所提升,提供更好的用户体验。 *...

    VC++皮肤(合集)

    1. **skin++.rar**:这可能是一个皮肤库或者一个包含了多种皮肤的压缩文件,它提供了API和示例代码,帮助开发者将皮肤集成到VC++项目中。 2. **sf**:这个文件名可能代表“Skin Framework”或其他类似含义,是一个...

    VC++串口通信经典VC++源码合集

    VC++中的ReadFile和WriteFile函数分别用于接收和发送数据,这两个函数都是异步的,因此在实际应用中可能需要配合GetOverlappedResult或WaitForSingleObject等函数处理同步问题。 在这些源码中,还涉及到数据转换...

    vc++技巧集

    《VC++技巧集》是一本专注于探讨VC++(Visual C++)编程技术的书籍,它旨在帮助开发者掌握和提升在Windows环境下使用C++进行软件开发的技能。VC++是Microsoft公司开发的一种集成开发环境,特别适合创建Windows应用...

    VC++常见问题集—C++学习

    "VC++常见问题集—C++学习"这个资源正好为此目的而设计,它提供了一个关于C++编程的常见问题合集,帮助开发者解决实际编程过程中可能遇到的困扰。 首先,让我们探讨一些C++编程中常见的问题: 1. **编译错误**:...

    VC++运行库合集

    VC++运行库合集

    (VC++2015 合集

    1. **兼容性**:提供32位和64位两个版本(vc++2015 32位.exe和vc++2015 64位.exe),以满足不同架构系统的需求。32位版本适用于传统的x86处理器,而64位版本则是为64位操作系统和处理器设计的。 2. **依赖性解决**...

    微软常用VC++运行库合集 v2018.06.30(32&64;位)最新版

    1. **依赖性支持**: 许多软件在安装时会要求用户安装相应的VC++运行库,因为这些软件在执行时需要依赖这些库来运行。如果没有这些库,程序可能会启动失败或运行异常。 2. **功能提供**: 运行库包含了C++标准库、MFC...

    VC++笔记-问题集

    **VC++笔记-问题集** 本笔记集合涵盖了VC++编程中的关键知识点,特别是关于多线程操作、进程通信以及自定义ActiveX控件制作的深入探讨。这些主题在实际开发中具有广泛的应用,理解并掌握它们对于提升软件工程能力至...

    算法VC++程序集1

    顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。含有108个完整的程序源代码、可执行文件。

    VC++教学实践实例合集

    这里包含了若干本VC++实例教程及实例,对VC++学习很有帮助,希望大家能够喜欢。由于文件太大,分为五个部分。part5

    vc++编程指南和VC常见问题集(中文.chm).rar

    《VC++编程指南和VC常见问题集》是一个针对微软Visual C++(简称VC++)开发者的参考资料集合。这个压缩包包含两个.chm文件,分别是"vc++ 编程指南.chm"和"VC常见问题集(中文).chm",它们提供了关于VC++编程的全面...

    算法VC++程序集5

    顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。含有108个完整的程序源代码、可执行文件。

    VC++深入详解(完整版)+所有源代码集

    1. **VC++简介**:VC++是微软公司开发的一款集成开发环境,支持C++语言,提供了丰富的工具和服务,用于创建Windows平台的应用程序。它包含一个IDE、一个C/C++编译器、一个链接器以及调试器等组件。 2. **MFC框架**...

    归纳整理的VC++串口通信20个经典源码合集.zip

    VC++串口通信20个经典源码合集: .\VC 串口通信程序.rar .\VC 读串口话是动态波形,非常好的应用程序,有源码.rar .\VC++ 串口实现双机互联 包含视窗加代码.rar .\VC++ 串口通信,可以收发数据,可选用TCPIP 通信.rar ....

    VC++图像处理算法合集

    1. **基础概念**: - 图像处理:图像处理是通过数字计算对图像进行分析、变换和操作的过程,常用于图像增强、复原、识别等。 - VC++:Microsoft的C++编译器,支持MFC(Microsoft Foundation Classes),方便创建...

Global site tag (gtag.js) - Google Analytics