// MFCWechatHelperDlg.cpp: 实现文件 //
#include "pch.h" #include "framework.h" #include "MFCWechatHelper.h" #include "MFCWechatHelperDlg.h" #include "afxdialogex.h" #include "common.h" #include "RecordObject.h" #include "HttpHelper.h" #ifdef _DEBUG #define new DEBUG_NEW #endif
// CMFCWechatHelperDlg 对话框
CMFCWechatHelperDlg::CMFCWechatHelperDlg(CWnd* pParent /=nullptr/)
: CDialogEx(IDD_MFCWECHATHELPER_DIALOG, pParent)
讯享网
{
讯享网m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMFCWechatHelperDlg::DoDataExchange(CDataExchange* pDX) {
CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_BUTTON_REQUEST, BtnRequest); DDX_Control(pDX, IDC_EDIT_URL, TxtUrl); DDX_Control(pDX, IDC_EDIT_PARAM, TxtParam); DDX_Control(pDX, IDC_EDIT_RESPONSE, TxtResponse); DDX_Control(pDX, IDC_COMBO_TYPE, CmbType); DDX_Control(pDX, IDC_EDIT_PARAM2, TxtRecords);
}
BEGIN_MESSAGE_MAP(CMFCWechatHelperDlg, CDialogEx)
讯享网ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON_REQUEST, &CMFCWechatHelperDlg::OnBnClickedButtonRequest) ON_WM_TIMER()
END_MESSAGE_MAP()
// CMFCWechatHelperDlg 消息处理程序
BOOL CMFCWechatHelperDlg::OnInitDialog() {
CDialogEx::OnInitDialog(); // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 CmbType.AddString(L"GET"); CmbType.AddString(L"POST"); CmbType.SetCurSel(0); TxtUrl.SetWindowTextW(L"http://127.0.0.1/?cmdid="); //添加定时器,刷新即时消息 SetTimer( 1, 3000, NULL); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
// 如果向对话框添加最小化按钮,则需要下面的代码 // 来绘制该图标。 对于使用文档/视图模型的 MFC 应用程序, // 这将由框架自动完成。
void CMFCWechatHelperDlg::OnPaint() {
讯享网if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); }
}
//当用户拖动最小化窗口时系统调用此函数取得光标 //显示。 HCURSOR CMFCWechatHelperDlg::OnQueryDragIcon() {
return static_cast<HCURSOR>(m_hIcon);
}
void CMFCWechatHelperDlg::OnBnClickedButtonRequest() {
讯享网string data; CString wurl; TxtUrl.GetWindowTextW(wurl); string url = UnicodeToUtf8(wurl); CString wparam; TxtParam.GetWindowTextW(wparam); string param = UnicodeToUtf8(wparam); HttpHelper* http = new HttpHelper(); if (CmbType.GetCurSel() == 0) { data = http->RequestData(url); } else { data = http->RequestData(url, HttpRequest::Hr_Post, "content-type:application/json;charset:utf-8;", param); } TxtResponse.SetWindowTextW(UTF8ToUnicode(data)); delete http; // TODO: 在此添加控件通知处理程序代码
}
void CMFCWechatHelperDlg::OnTimer(UINT_PTR nIDEvent) {
// TODO: 在此添加消息处理程序代码和/或调用默认值 if (nIDEvent == 1) { HttpHelper* http = new HttpHelper(); string data = http->RequestData("http://127.0.0.1/?cmdid=7"); RecordObject *recordObj = new RecordObject(data.c_str()); for (auto record : recordObj->data) { int nLength = TxtRecords.GetWindowTextLength(); //选定当前文本的末端 TxtRecords.SetSel(nLength, nLength); string recordStr = record.StrContent; recordStr.append("
");
讯享网 //l追加文本 TxtRecords.ReplaceSel(UTF8ToUnicode(recordStr)); } delete http; delete recordObj; } CDialogEx::OnTimer(nIDEvent);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/170560.html