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()/2, 
               r.Height()/2, 
               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 = 0; //选择语言的名字字符串 CString strLangName; CString strLangrank11; CString strLangrank10; NMLISTVIEW *pNMListView=(NMLISTVIEW*)pNMHDR; if(-1!=pNMListView->iItem)//如果iItem不是-1,则有列表被选中 { //获取被选中列表项第一个子项的文本 strLangName=m_programLangList.GetItemText(pNMListView->iItem,0); strLangrank11=m_programLangList.GetItemText(pNMListView->iItem,1); strLangrank10=m_programLangList.GetItemText(pNMListView->iItem,2); //字符串拼接 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"));

  

转载于:https://www.cnblogs.com/zhangerxiaoma/p/4991494.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值