标签:auto info duplicate dia 绑定 操作 mfc 指示 form
菜单创建窗口
? 非模态对话框的创建
○ 等在另一个窗口完成之后
○ 初始化子窗口的时候要在初始化函数里面操作
○ 响应窗口只需要做显示窗口的操作
//非模态对话框要注意的地方 void CPoEduINVDemoDlg::OnMenuAdd() { //新的对话框的时候 //1 模态对话框 临时对象 //等待另一个窗口完成之后 //2 非模态对话框 使用 new Init new 这个对话框 Close时 del //跟主窗口同级 //new delete //第一种 //m_pDlgGoodInfo.CreateWindow(); 可不可以? //栈上面的对象 m_pDlgGoodInfo = new CDlgGoodInfo; m_pDlgGoodInfo->Create(TEXT("Add")); m_pDlgGoodInfo.ShowWindow(SW_SHOW); } //使用非模态对话框的时候 创建窗口要在初始化窗口做 //响应按键的只需要做一个SHOW窗口的操作 // WM_CREATE 消息时 CreateWindow -> 发送 WM_CRETE //BOOL ::OnIntDialog()函数里面创建 //初始化函数 //WM_CREATE 消息 指示正在创建窗口 //WM_CLOSE 消息 发出信号要某个窗口或应用程序终止
? 模态对话框
1 //模态对话框 2 void CPoEduINVDemoDlg::OnMenuAdd() 3 { 4 CDlgGoodInfo dlgGoodInfo; 5 //dlgGoodInfo.SetWindowText(TEXT("添加程序")); //通知窗口对象修改TEXT(标题) 6 dlgGoodInfo.DoModal(); //阻塞 7 //j就是创建窗口 CreateWindow 8 dlgGoodInfo.SetWindowText(TEXT("添加程序")); //通知窗口对象修改TEXT(标题) 9 //如何设置程序标题 10 } 11 //重写 DoModal()函数 12 //由于我们不知道源码 不知道她调用的是Create还是CreateWindow函数 13 //这样做是不行的 14 //重写 CDlgGoodInfo 初始化函数 15 BOOL CDlgGoodInfo::OnInitDialog() 16 { 17 BOOL bRet = CDialog::OninitDialog(); 18 SetWindowText(TEXT("ADD")); 19 return bRet; 20 } 21 22 //从上面这个实例我们得知MFC其实就是C++的方式对Windows 很多特性进行了一层一层的封装 23 //然后对于我们的每一个消息都产生了一个On的消息 24 //知道了这些我们就可以利用C++的特性对MFC进行各种各样的扩充填充以及修改
● 默认MFC窗口
○ 确定按钮
○ IDOK
○ CDialogEx::OnOK()
○ 取消按钮
○ IDCANCEL
○ CDialogEx::OnCancel()
● 模态对话框里面的返回值是有一定含义的
○ IDOK -> 按下确定
○ IDCANCEL -> 按下取消
1 void CPoEduINVDemoDlg::OnMenuAdd() 2 { 3 CDlgGoodInfo dlgGoodInfo; //构造函数接收参数 4 DWORD dwTest = dlgGoodInfo.DoModal(); 5 //DoModal的返回值和按钮绑定了 6 if(dwTest == IDOK) 7 { 8 //文件写入操作 9 } 10 //CString strBuf; 11 //strBuf.Format(TEXT("%d",dwTest); 12 //MessageBox(strBuf); 13 //设置一个方法 14 }
● CFile类的成员
⊙ 数据成员
○ m_hFile常包含操作系统文件句柄
HANDLE m_hFile;
operator HANDLE() const;
⊙ 构造函数
○ CFile 从一个路径或文件句柄构造一个CFile对象;
○ Abort不管任何警告和错误,关闭一个文件;
○ Duplicate构造一个基于该文件的副本;
○ Open 带才哦呜的检验选项,安全打开一个打开一个文件;
○ Close 关闭文件,删除对象。
⊙ 输入/输出
○ Read 从文件的当前
○ ReadHuge 可从文件的当前位置读取大于 64K数据,在32位编程种废弃了见 Read;
○ Write 将文件数据写入当前文件;
○ WriteHuge 可将文件的大于64K数据写到当前文件位置,在32位编程中废弃了,见 Write;
○ Flush 溢去来被写入的任何数据。
⊙ 定位
○ Seek 定位于当前文件指针;
○ SeekToBegin 定位当前文件指针到文件开头;
○ SeekToEnd 定位当前文件指针到文件尾;
○ GetLength 获取文件长度;
○ SetLength 改变文件长度;
⊙ 封锁
○ LockRange 在文件中封锁一定范围内字符;
○ UnlockRange 解锁一定范围内的字节。
⊙ 状态
○ GetPosition 获取当前文件指针;
○ GetStatus 获取打开文件状态;
○ GetFileName 获取被选文件的文件名;
○ GetFileTitle 获取被选文件的标题;
○ GetFilePath 获取被选文件的完整路径;
○ SetFilePath 设置被选文件的完整路径;
⊙ 静态
○ Rename 改名指定文件 (静态函数);
○ Remove 删除指定文件 (静态函数);
○ GetStatus 获取指定文件的状态(静态,虚函数);
○ SetStatus 设置指定文件的状态(静态,虚函数)
⊙ CFile 就是对我们的CreateFile进行封装
1 public: 2 // Flag values 3 enum OpenFlags { 4 modeRead = (int) 0x00000, 5 modeWrite = (int) 0x00001, 6 modeReadWrite = (int) 0x00002, 7 shareCompat = (int) 0x00000, 8 shareExclusive = (int) 0x00010, 9 shareDenyWrite = (int) 0x00020, 10 shareDenyRead = (int) 0x00030, 11 shareDenyNone = (int) 0x00040, 12 modeNoInherit = (int) 0x00080, 13 #ifdef _UNICODE 14 typeUnicode = (int) 0x00400, // used in derived classes (e.g. CStdioFile) only 15 #endif 16 modeCreate = (int) 0x01000, 17 modeNoTruncate = (int) 0x02000, 18 typeText = (int) 0x04000, // used in derived classes (e.g. CStdioFile) only 19 typeBinary = (int) 0x08000, // used in derived classes (e.g. CStdioFile) only 20 osNoBuffer = (int) 0x10000, 21 osWriteThrough = (int) 0x20000, 22 osRandomAccess = (int) 0x40000, 23 osSequentialScan = (int) 0x80000, 24 }; 25 26 enum Attribute { 27 normal = 0x00, // note: not same as FILE_ATTRIBUTE_NORMAL 28 readOnly = FILE_ATTRIBUTE_READONLY, 29 hidden = FILE_ATTRIBUTE_HIDDEN, 30 system = FILE_ATTRIBUTE_SYSTEM, 31 volume = 0x08, 32 directory = FILE_ATTRIBUTE_DIRECTORY, 33 archive = FILE_ATTRIBUTE_ARCHIVE, 34 device = FILE_ATTRIBUTE_DEVICE, 35 temporary = FILE_ATTRIBUTE_TEMPORARY, 36 sparse = FILE_ATTRIBUTE_SPARSE_FILE, 37 reparsePt = FILE_ATTRIBUTE_REPARSE_POINT, 38 compressed = FILE_ATTRIBUTE_COMPRESSED, 39 offline = FILE_ATTRIBUTE_OFFLINE, 40 notIndexed = FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, 41 encrypted = FILE_ATTRIBUTE_ENCRYPTED 42 }; 43 44 enum SeekPosition { begin = 0x0, current = 0x1, end = 0x2 }; 45 46 static AFX_DATA const HANDLE hFileNull;
● ini文件
○ .ini文件是 Initialization File的缩写
○ 初始化文件
○ Windows系统配置文件 才用的存储格式
● ini文件格式
○ INI文件由 节 键 值 组成
○ 节 [section]
○ 参数 (键 = 值) name = value
○ 注释 使用分号表示 (;).在分号后面的文字,直到该行结尾全部都是注释
标签:auto info duplicate dia 绑定 操作 mfc 指示 form
原文地址:http://www.cnblogs.com/sdk123/p/6910650.html