- 博客(54)
- 资源 (6)
- 收藏
- 关注
原创 C++ 文件压缩
//路径里不能有空格void CRARDlg::OnWinrar() { CString des,temp,path,rarpath; GetDlgItem(IDC_PATH)->GetWindowText(path); if(path.IsEmpty()) { MessageBox("请输入文件名字"); return ; } rarpath.Format("%s.rar",path.Left(path.ReverseFind('.'))); t..
2021-05-24 06:25:04 613
原创 C++ 设置文件隐藏属性
void CSetHiddenDlg::OnSet() { CString path; m_path.GetWindowText(path); CFileStatus status; CFile::GetStatus(path,status); //获取原属性 status.m_attribute |= 0x02; //追加隐藏属性 CFile::SetStatus(path,status); //设置新属性 }
2021-05-24 06:24:47 906
原创 C++ 获取文件的属性
void CFileStatusDlg::OnOpenFile() { m_hidden.SetCheck(0); m_readonly.SetCheck(0); m_archive.SetCheck(0); m_normal.SetCheck(0); m_system.SetCheck(0); m_filedir.SetCheck(0); CFileDialog log(TRUE,"文件","*.*",OFN_HIDEREADONLY,"FILE(*.*)|*.*||",NULL); .
2021-05-24 06:24:33 711
原创 C++ 获取当前路径
void CGetCurrentDirectoryDlg::OnGet() { char buf[256]=""; DWORD dw; dw = GetCurrentDirectory(sizeof(buf),buf); if(dw == 0) { MessageBox("获取路径失败"); return; } else m_path.SetWindowText(buf);}
2021-05-24 06:24:21 486
原创 C++ c函数sprintf将不同类型的数组组成字符串
char str[100]; char* p = "辛丑"; char* t = "子"; int mon = 1; int day = 1; sprintf(str, "%s 年 %d 月 %d 日 %s时", p, mon, day, t);
2021-05-24 06:24:09 183
原创 C++ CFile类是以二进制形式读写文件
void CReadWriteDlg::OnRead() { CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "All Files(*.TXT)|*.TXT||",AfxGetMainWnd()); //构造"文件打开"对话框 CString strPath,strText=""; //声明变量 if (dlg.DoModal() == IDOK) //判断是否按下"打开"按钮 .
2021-05-24 06:23:53 1035 2
原创 C++ C函数 判断文件是否存在
void CIsExistDlg::OnJudge() { CString path, name, pathName; m_path.GetWindowText(path); //获取路径 m_fileName.GetWindowText(name); //获取文件名 if(path.Right(1)!='\\') { pathName.Format("%s\\%s",path,name); } else { pathName.Format("%s%s",path,name);.
2021-05-24 06:23:41 129
原创 C++ 指定目录查找文件
void CFindFileDlg::OnAdd() { BROWSEINFO bi; //定义BROWSEINFO结构体 char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=.
2021-05-24 06:23:13 809
原创 C++ 列举文件夹下的所有文件
oid CEnumFileDlg::OnEnum() { BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=BIF_EDITBOX; bi.lp.
2021-05-24 06:22:58 437
原创 C++ 删除文件
void CDeleteMFileDlg::OnDelete() { int count=m_filelist.GetItemCount(); for(int i=0;i<count;i++) { ::DeleteFile(m_filelist.GetItemText(i,0)); } AfxMessageBox("删除成功"); m_filelist.DeleteAllItems();}
2021-05-24 06:22:32 946
原创 C++ 移动文件
void CMoveFIleDlg::OnMove() { BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; bi.ulFlags=BIF_EDITBOX; bi...
2021-05-23 18:41:34 1317
原创 C++ 文件不存在创建,存在则追加
CFile file("D:\\1.txt", CFile::modeCreate | CFile::modeNoTruncate); file.SeekToEnd(); file.Write("12345", strlen("12345"));
2021-05-23 18:38:17 1566
原创 C++在复制文件的过程中显示进度条
void CFileCopyDlg::OnPut() { if(strname.IsEmpty()) return; BROWSEINFO bi; char buffer[MAX_PATH]; ZeroMemory(buffer,MAX_PATH); bi.hwndOwner=GetSafeHwnd(); bi.pidlRoot=NULL; bi.pszDisplayName=buffer; bi.lpszTitle="选择一个文件夹"; .
2021-05-23 07:14:09 775
原创 C++ 使用CFile类实现文件的复制
void CCopyFileDlg::OnCopy() { CFile *readfile,*writefile; DWORD readlen,filelen,poslen; CString strsrc,strdes; char buf[512]; GetDlgItem(IDC_EDSRC)->GetWindowText(strsrc); //获取原文件名 GetDlgItem(IDC_EDDES)->GetWindowText(strdes); //获取目标文件名 rea.
2021-05-23 07:00:54 362
原创 C++ 通过API函数CopyFile复制文件
void CFileDemoDlg::OnBnClickedButton1(){ CString szSrc, szDest; GetDlgItemText(IDC_EDIT_SRC, szSrc); GetDlgItemText(IDC_EDIT_DEST, szDest); if (CopyFile(szSrc,szDest,true)) { MessageBox("成功"); } else { MessageBox("失败"); }}
2021-05-23 06:56:19 576
原创 C++拖拽文件到对话框
设置对话框属性接受文件属性为truevoid CFileDemoDlg::OnDropFiles(HDROP hDropInfo){ // TODO: 在此添加消息处理程序代码和/或调用默认值 int ires; char str[32]; ires = DragQueryFile(hDropInfo, 0xffffffff, NULL, 0); //获取拖动文件的个数 for (int i = 0; i < ires; i++) { DragQueryFile(hDropI.
2021-05-23 06:50:27 365
原创 C++使用GetOpenFileName选择文件
void CFilterDlg::OnButton1() { OPENFILENAME ofn; char* filter = "doc\0*.doc\0xls\0*.xls\0ppt\0*.ppt\0all\0*.*\0\0"; ZeroMemory(&ofn,sizeof(ofn)); ofn.lStructSize=sizeof(ofn); ofn.hwndOwner=this->GetSafeHwnd(); ofn.lpstrFilter=filter; //文件过.
2021-05-23 06:41:45 1260
原创 C++ 使用CFileDialog选择多个文件
void CFileDemoDlg::OnBnClickedButton1(){ CFileDialog log(TRUE, "文件", "*.*", OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, "File(*.*)|*.*||", NULL); if (log.DoModal()==IDOK) { POSITION pos = log.GetStartPosition(); while (pos!=NULL) { CString fileN.
2021-05-23 06:35:47 933
原创 c++ mfc和c库函数打开文件
//MFC //CFile file; //if (file.Open("D:\\1.txt", CFile::modeRead)) //{ // MessageBox("打开成功"); //} //else //{ // MessageBox("打开失败"); //} //C库函数打开 FILE* fp; fp = fopen("D:\\1.txt", "r"); if (fp) { MessageBox("打开成功"); } else { Message.
2021-05-23 06:28:50 138
原创 c++ API和MFC创建文件
void CFileDemoDlg::OnBnClickedButton1(){ //API HANDLE handle = CreateFile("D:\\1.txt", 0, FILE_SHARE_READ, NULL, CREATE_ALWAYS, 0, NULL); if (handle == INVALID_HANDLE_VALUE) { MessageBox("创建失败"); } //MFC CFile file("D:\\1.txt", CFile::modeCreat.
2021-05-23 06:17:51 158
原创 C++ MDI创建浏览器
1 新建MDI应用程序,取消选择文档视图结构2 删除CChildView及相关包含3 通过类向导创建MFC类,继承CHtmlView#pragma once#include <afxhtml.h>#ifdef _WIN32_WCE#error "Windows CE 不支持 CHtmlView。"#endif // CBrowseView HTML 视图class CBrowseView : public CHtmlView{ DECLARE_DYNCREAT
2021-05-16 19:54:29 366
原创 C++ SDI创建记事本
1 新建SDI,取消文档视图结构2 删除CChildView3 通过向导添加CMainView继承CEditView 注意必须添加ENCHANGE消息映射,才能正常工作#pragma once// CMainView 视图class CMainView : public CEditView{ DECLARE_DYNCREATE(CMainView)protected: CMainView(); // 动态创建所使用的受保护的构造函数 virtual ~
2021-05-16 19:01:41 315
原创 C++ OutLook样式分割视图
1 新建SDI,取消文档视图结构2 删除CChildView3 必须通过向导创建MFC视图类继承CTreeView#pragma once#include <afxcview.h>// CLeftView 视图class CLeftView : public CTreeView{ DECLARE_DYNCREATE(CLeftView)protected: CLeftView(); // 动态创建所使用的受保护的构造函数 virtual ~
2021-05-16 15:40:16 142
原创 C++ 无文档创建分割视图
1 新建SDI项目,取消文档视图结构选项2 删除CChildView类,及相关include,编译通过3 必须在类向导中添加MFC类,继承CTreeView#pragma once#include <afxcview.h>// CLeftView 视图class CLeftView : public CTreeView{ DECLARE_DYNCREATE(CLeftView)protected: CLeftView(); // 动态创建所使用
2021-05-16 14:04:31 193
原创 C++ 无文档视图的SDI程序
1 新建MFC程序,选择单文档视图,并取消选择文档视图结构2 默认CMainFrame建的视图是CChildView,这是个普通的视图,屏蔽掉下面的代码int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)里面的// 创建一个视图以占用框架的工作区 /*if (!m_wndView.Create(nullptr, nullptr, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_I
2021-05-16 06:55:08 328
原创 C++ 注销关机重启
void CDemoDlg::OnBnClickedButtonLogoff(){ // TODO: 在此添加控件通知处理程序代码 if(IDNO == MessageBox(_T("肯定要注销吗?"),_T("Demo"),MB_YESNO)) { return; } //打开进程令牌 HANDLE hToken; if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hT.
2021-05-16 06:34:41 297
原创 C++ 获取系统度量
void CDemoDlg::OnBnClickedButtonSm(){ // TODO: 在此添加控件通知处理程序代码 CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST); pListBox->ResetContent(); CString strText; strText.Format(_T("屏幕大小: %d x %d"),GetSystemMetrics(SM_CXSCREEN),GetSy.
2021-05-16 06:34:32 173
原创 C++注册表的访问
void CDemoDlg::OnBnClickedButtonCpu(){ // TODO: 在此添加控件通知处理程序代码 long lRet; HKEY hKey; TCHAR tchData[64]; DWORD dwSize; lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Hardware\\Description\\System\\CentralProcessor\\0"), 0, KEY_QUERY_VALUE, &am.
2021-05-16 06:34:24 159
原创 C++ 自定义消息两种方式
#define WM_MY_DEFINED_MSG (WM_USER + 101)#define MY_REGISTERED_MSG_STR _T("MY_MSG_STRING")CDemoDlg::CDemoDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CDemoDlg::IDD, pParent){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); WM_MY_REGISTERED_MSG = R.
2021-05-15 18:50:57 691
原创 C++ 发送消息
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 SetDlgItemText(IDC_EDT_INPUT,_T(""));}void CDemoDlg::OnBnClickedButton2(){ SetDlgItemText(IDC_EDT_INPUT,_T(""));}BOOL CDemoDlg::OnEraseBkgnd(CDC* pDC){ // TODO: 在此添加消息处理程序代码和/或调用默认.
2021-05-15 18:46:06 563
原创 C++ 跨应用程序发送消息
void CDemoDlg::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if(point.x >= m_rtCtrl.left && point.x <= m_rtCtrl.right || point.y >= m_rtCtrl.top && point.y <= m_rtCtrl.bottom) { m_bCapturing = .
2021-05-15 18:40:49 376
原创 C++ 窗口操作
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);}void CDemoDlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知处理程序代码 SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);}void CDemoDlg::OnBnClickedButton3().
2021-05-15 18:38:24 737
原创 c++ 窗口指针
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 HWND hWnd = GetSafeHwnd(); CWnd* pWnd = CWnd::FromHandle(hWnd); CString s; s.Format(_T("pWnd = 0x%X\nthis = 0x%X\n"), pWnd, this); AfxMessageBox(s);}void CDemoDlg::OnBnClickedButton2(.
2021-05-15 18:36:33 110
原创 C++ CAnimateCtrl(动画控件)使用
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,_T("*.bmp|*.bmp||"),this); if(dlg.DoModal() == IDOK) { HBITMAP phBmp = (HBITMAP)LoadImage(NULL,dlg.GetPathName(),IMAGE_BITMAP,0,0,LR_LOADF.
2021-05-15 18:33:00 235
原创 C++ 字体对话框和颜色对话框
void CDemoDlg::OnFormatFont(){ // TODO: 在此添加命令处理程序代码 CHARFORMAT cf = {0}; cf.cbSize = sizeof(cf); m_edtContent.GetSelectionCharFormat(cf); CFontDialog dlg(cf); if(dlg.DoModal() == IDOK) { dlg.GetCharFormat(cf); m_edtContent.SetSelectionCharFo.
2021-05-15 17:46:29 244
原创 C++ 文件对话框的使用
void CDemoDlg::OnFileOpen(){ // TODO: 在此添加命令处理程序代码 CFileDialog dlg(TRUE, NULL, NULL, OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST, _T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"), this); dlg.m_ofn.lpstrInitialDir = _T("C:\\"); if(dlg.DoModal() == IDOK) { A.
2021-05-15 17:42:57 289
原创 C++ 访问控件的七种方式
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 int num1, num2, num3; TCHAR ch1[12], ch2[12], ch3[12]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1, 12); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2, 12); num1 = _ttoi(ch1); num2 = _tt.
2021-05-15 17:42:48 285
原创 c++ 工厂模式
#include <iostream>using namespace std;class Fruit{public: virtual void sayname() = 0;};class Banana : public Fruit{public: void sayname() { cout << "我是香蕉" << endl; }};class Apple : public Fruit{public: void sa.
2021-05-15 17:42:40 86
原创 C++ 显示两种对话框
void CDemoDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 CFirstDlg dlg; dlg.DoModal();}void CDemoDlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知处理程序代码 CSecondDlg *pDlg = new CSecondDlg; pDlg->Create(IDD_SECOND_DIALOG,this); pDlg->Sho.
2021-05-08 15:21:34 261
ASP.NET MVC 5高级编程 第5版(中文版带书签)
2018-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人