#include "main.h" #include "CMsgDlg.h" #include #include "Message.h" extern CMsgApp msgApp; // Message map - maps message IDs to their handlers BEGIN_MESSAGE_MAP( CMsgDlg, CDialog ) ON_COMMAND(IDC_SAVE, OnSave) ON_COMMAND(IDC_CLEAR, OnClear) ON_COMMAND(IDC_LOAD, OnLoad) END_MESSAGE_MAP() BOOL CMsgDlg::OnInitDialog() { CDialog::OnInitDialog(); return TRUE; } // Handle the save button void CMsgDlg::OnSave() // Saves the message { CString topic; CString text; CString fileName; HANDLE msgFile; GetDlgItemText(IDC_TOPIC, topic); msgApp.msg.SetTopic(topic); GetDlgItemText(IDC_TEXT, text); msgApp.msg.SetText(text); GetDlgItemText(IDC_MSG_ID, fileName); msgFile = CreateFile(fileName,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0); if(msgFile == INVALID_HANDLE_VALUE) { cerr << "Error: " << GetLastError() << " when creating file:" << fileName << endl; ExitProcess(1); } if(!msgApp.msg.WriteMsg(msgFile)) { cerr << " Error writing message msg1\n"; ExitProcess(1); } CloseHandle(msgFile); } void CMsgDlg::OnLoad() // Saves the message { char topic[SIZE_TOPIC]; char text[SIZE_TEXT]; HANDLE msgFile; CString fileName; GetDlgItemText(IDC_MSG_ID, fileName); msgFile = CreateFile(fileName,GENERIC_READ,0,0,OPEN_EXISTING,0,0); if(msgFile == INVALID_HANDLE_VALUE) { cerr << "Error: " << GetLastError() << " when opening file: " << fileName << endl; ExitProcess(1); } msgApp.msg.ReadMsg(msgFile); CloseHandle(msgFile); msgApp.msg.GetTopic(topic); msgApp.msg.GetText(text); SetDlgItemText(IDC_TOPIC, topic); SetDlgItemText(IDC_TEXT, text); } // Handle changes to any edit area void CMsgDlg::OnClear() // Handles Clearing of edit areas { SetDlgItemText(IDC_TOPIC,""); SetDlgItemText(IDC_TEXT,""); }