MFC笔记4
1、添加图片
1)静态加载图片,直接在resourceView中控件设置就可以以实现
2)动态加载时,按照鸡啄米的教程http://www.jizhuomi.com/software/193.html操作时,编译后图片不显示,是因为没有把图片控件的type类型设置成BitMap
3)动态载入图片:图像控件定义变量为CStatic m_jzmPicture
CString m_strfile; /***你在文件选择对话框中选中的文件名***/
CRect r;
GetClientRect(&r);
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"Bmp files(*.bmp)|*.bmp|",NULL);
if(dlg.DoModal ())
{
m_strfile=dlg.GetPathName ();
}
HBITMAP hbitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),
m_strfile,
IMAGE_BITMAP,
r.Width()/,
r.Height()/,
LR_LOADFROMFILE);
m_jzmPicture.SetBitmap(hbitmap);
MessageBox("loading");
2、单选列表视图控件
列表视图控件提供了CListCtrl类,
例子参考http://www.jizhuomi.com/software/197.html的

如果想单击某列,在另一个界面显示时,首先添加一个Dialog和对应的类CShowLanguage.cpp,将传递的参数设置成全局变量。Example1.h中
#include "ShowLanguage.h"
extern CString str;
在Example1.cpp中重定义,然后在原来函数上添加这个函数调用窗口函数
CString str;
void CExample5Dlg::OnNMClickProgramLangList(NMHDR *pNMHDR, LRESULT *pResult)
{
//强制类型转换
LPNMITEMACTIVATE pNMTItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); CShowLanguage shlang;
// TODO: 在此添加控件通知处理程序代码
*pResult = ; //选择语言的名字字符串
CString strLangName;
CString strLangrank11;
CString strLangrank10; NMLISTVIEW *pNMListView=(NMLISTVIEW*)pNMHDR; if(-!=pNMListView->iItem)//如果iItem不是-1,则有列表被选中
{
//获取被选中列表项第一个子项的文本
strLangName=m_programLangList.GetItemText(pNMListView->iItem,);
strLangrank11=m_programLangList.GetItemText(pNMListView->iItem,);
strLangrank10=m_programLangList.GetItemText(pNMListView->iItem,);
//字符串拼接
str=strLangName;
str+=" ";
str+=strLangrank11;
str+=" ";
str+=strLangrank10;
//将鼠标点中的语言显示在编辑框中
//SetDlgItemText(IDC_LANG_SEL_EDIT,strLangName);
//SetDlgItemText(IDC_LANG_MESS_EDIT,str);
shlang.DoModal(); }
}
在CShowLanguage.cpp中
#include "Example5Dlg.h"
BOOL CShowLanguage::OnInitDialog()
{
CDialog::OnInitDialog(); SetDlgItemText(IDC_LANG_MESS_EDIT,str);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
3.存储数据到制定文件中
静态文本框、编辑框IDC_INFOR_EDIT1、按钮IDC_BUTTON2
在编辑框中输入文字信息,点击按钮触发按钮对应的消息函数OnBnClickedButton2(),
void CShowLanguage::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码 CString strText(_T("")); GetDlgItemText(IDC_INFOR_EDIT1,strText);//获取edit中的数据
int i;
try
{
CStdioFile file;
//打开文件,文件不存在就创建
i=file.Open(_T("abx.txt"),CFile::modeCreate|CFile::modeReadWrite);
file.WriteString(strText);
//file.WriteString(str); //全局变量中的信息
file.Close();
}catch(CFileException * e)
{
e->ReportError();
e->Delete();
}
}
//得到当前时间
CTime time;
time=CTime::GetCurrentTime();
//将当前时间转换成标准时间
CString data=time.Format(_T("%Y-%m-%d %H:%M:%S %W-%A"));
MFC笔记4的更多相关文章
- MFC笔记
一.Win32基本程序概念 所有的windows程序都必须载入windows.h MFC程序都有一个Stdafx.h文件,它载入了MFC框架必须的文件. Windows程序以消息为基础,以事件驱动之. ...
- MFC笔记10
1. CDC MemDC1; MemDC1.SetBkMode(OPAQUE); 背景模式,VC6下面有三种:/* Background Modes */#define TRANSPARENT 1// ...
- MFC笔记7
1.VS中显示行号 工具 -> 选项 -> 文本编辑器 -> C/C++ -> 行号 2.VS中调整字体大小 工具 -> 选项 -> 环境->字体和颜色 3. ...
- MFC笔记6
1.MFC文件的读写操作 写操作 创建一个编辑框(IDC_INFOR_EDIT1),在里面输入信息,创建一个按钮(IDC_BUTTON),点击按钮会触发(OnBnClickedButton2()函数) ...
- MFC笔记5
1.MessageBox() 引用自(http://www.douban.com/note/40199603/) 一 函数原型及参数 function MessageBox(h ...
- MFC笔记3
1. C6有默认的提示代码功能,但是其默认的快捷键是Ctrl + Space,这一般情况下是切换输入法快捷键,所以,只需重新设置一下快捷键就可以实现提示代码功能,具体设置位置如下: 工具(T) -&g ...
- MFC笔记2
1.Create()函数创建,该函数原型如下: BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* ...
- MFC笔记1
1.在对话框文档中定义两个定时器,每间隔5秒弹出一个消息框提示“定时器1”,每隔5秒弹出一个消息框提示“定时器2” UINT ID_TIMER1 = 1 , ID_TIMER2 = 2; //设置 ...
- MFC笔记(DN)
01:MFC应用程序编程 02:MFC菜单.工具栏.状态栏 03:视图窗口
- MFC笔记<持续更新>
1.设置垂直滚动条的位置在末尾 SCROLLINFO si; GetScrollInfo(SB_VERT, &si, SIF_PAGE | SIF_RANGE | SIF_POS); si.f ...
随机推荐
- Linux命令学习之路-文档浏览之less
使用权限:所有角色 使用方式:less [ options ] filename 作用:文档内容浏览,可向前或者向后浏览文档内容 注意点: 1.less 命令和 more 命令的作用大致相同,less ...
- yii2 Rbac实例 (做完以下这些 会有些小的报错,相信各位都能解决,大多数都是自己命名空间上的问题)。
首先我自己没有使用自带的user表 如果model层没有AuthItem.php 那就自建一个将下面这些内容写入 <?php namespace backend\models; use Yi ...
- PTA寒假一
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...
- Burpsuite 1.7.33启动的一点小问题。
最近用的burp到期了,就想找个新版本的. https://www.52pojie.cn/thread-691448-1-1.html 上面帖子里贴了最新的几个版本的burp,下载以后,问题出现了,无 ...
- DevExpress GridView 整理(转)
DevExpress GridView 那些事儿 1:去除 GridView 头上的 "Drag a column header here to group by that column&q ...
- Linux之正则表达式1
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑.适当使用正则表达式可以提高工作效 ...
- 域名到站点的负载均衡技术一览(主要是探讨一台Nginx抵御大并发的解决方案)(转)https://www.cnblogs.com/EasonJim/p/7823410.html
一.问题域 Nginx.LVS.Keepalived.F5.DNS轮询,往往讨论的是接入层的这样几个问题: 1)可用性:任何一台机器挂了,服务受不受影响 2)扩展性:能否通过增加机器,扩充系统的性能 ...
- Excel技巧--巧用差异化插入空行
假设有上面这一列,要求在不同城市之间插入一空行相隔开.数据少的时候可以手动操作,但数据量大时,就需要以下技巧: 1.复制该列(除去标题),并粘贴到右侧一列,但上方要隔开一个单元格B2: 2.将这两列选 ...
- awk 进阶,百万行文件取交集
今天我们说的不是简单的交集,而是如下示例: file1: as,er,gf,1212kl,iop,121378,jkl,uio,jki,1214vbnm,yuoi,678i,1215sadfasdf, ...
- 滑雪(dp)
问题 H: [例9.24]滑雪 时间限制: 1 Sec 内存限制: 128 MB提交: 21 解决: 13 题目描述 小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小 ...