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++常用数值算法集 一些常用的数学算法
VC++皮肤合集,本人从网上收集,用于windows窗体皮肤的更换
VC++ windows运行环境合集,用于生成C++运行程序Exe(mfc等)后,在新电脑上部署运行环境,带注册Dll,实际项目已使用,亲测可用.
VC++各版本合集,包括VC++2005,VC++2008,VC++2010,VC++2012,VC++2013,VC++2015,VC++2017
VC++串口通信经典源码合集
初学vc++和ASP的一些问题集。里面的问题可能对一些人有益处。还属初浅。
VC++图像处理算法合集
微软常用VC++运行库合集 v2018.06.30(32&64;位)最新版
VC++常见问题集:其中包含了c++编程时可能遇到的问题及解决问题的方法,对初学C++编程的同学很有帮助,可以下载!
VC++运行库合集
顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。含有108个完整的程序源代码、可执行文件。
这里包含了若干本VC++实例教程及实例,对VC++学习很有帮助,希望大家能够喜欢。由于文件太大,分为五个部分。part5
顺序存储结构的表、堆栈和队列,链式存储结构的表、堆栈和队列,数组、串和广义表,递归,树和二叉树,图,排序,查找,文件。含有108个完整的程序源代码、可执行文件。
VC++运行库合集单文件安装包就一个exe文件,如果你的电脑缺少运行库可以用这个,默认会装基本所有运行库,离线运行不需要联网操作,亲测好用,能解决很多问题
VC++串口通信串口软件程序18个经典源码合集: VC 串口通信程序.rar VC 读串口话是动态波形,非常好的应用程序,有源码.rar VC++ 串口实现双机互联 包含视窗加代码.rar VC++ 串口通信,可以收发数据,可选用TCPIP 通信....
VC++知识集:收录了若干程序员在进行VC++编程时遇到的实际问题,并给出了详细的讲解。希望对您有所帮助!
VC++允许库合集,解决未能加载文件或程序集CefSharp.Core.dll问题
下载并安装微软VC++2015版运行库 (英文全称:Microsoft Visual C++ 2015 Redistributable Package)
大家好,我是郁金香老师:QQ150330575 欢迎大家参加梅州技术 VC++外挂编程VIP培训班。 在接下来的一段时间将由我和大家一起学习游戏外挂的分析,制作。 课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇...
VC++编程实用小例子锦集VC++编程实用小例子锦集VC++编程实用小例子锦集