悉野小楼

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

随笔分类 -  MFC

MFC学习 消息钩子使用
摘要:HANDLE h_KeyBoard;//当前进程的钩子, 另外WH_KEYBOARD_LL, 与WH_MOUSE_LL参数时, 是获取的底层的消息, 相当于获取的全局的g_hKeyBoard = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, NULL, GetCurrentThreadId()); //全局钩子, 全局钩子要填写dll的句柄, 如用WH_GETMESSAGE可以获取其它进程的消息.h_KeyBoard =SetWindowsHookEx(WH_MOUSE, MouseProc, GetModuleHandle("HookGlo 阅读全文

posted @ 2013-08-05 11:44 悉野 阅读(1683) 评论(0) 推荐(0) 编辑

MFC学习 MFCActiveX控件
摘要:例子包含1.重绘activex控件显示区域在activex的ctrl类中ondraw中实现2.添加修改activex控件属性(前景色, 背景色, 自定义属性),,只要在类视图中展开library(vs2005中类视图中, 最下面那个标签), 在展开的第二个标签上右击, 可以添加属性, 可选择, 或自己定义3.添加事件在类视图中ctrl类右击可以添加activex的事件, 可以选择, 也可以自己定义事件.4.设置修改常规属性页面在clockctrl.cpp中, 修改属性页BEGIN_PROPPGAGEIDS与END_PROPPAGEIDS宏之间, 添加一行PROPPAGEID(CLSID_CCo 阅读全文

posted @ 2013-08-02 11:32 悉野 阅读(337) 评论(0) 推荐(0) 编辑

MFC学习 进程间通信
摘要:内存共享通信方式server.cpp#include #include int main(){ HANDLE hFile; hFile = CreateFile("tmpfile", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_TEMPORARY, NULL); if(hFile == INVALID_HANDLE_VALUE) { printf... 阅读全文

posted @ 2013-08-01 17:35 悉野 阅读(1305) 评论(1) 推荐(0) 编辑

MFC学习 事件临界区
摘要:事件:#include #include DWORD WINAPI Func1Pro(LPVOID lpParameter);DWORD WINAPI Func2Pro(LPVOID lpParameter);int tickets = 100;HANDLE g_hEvent;void main(){ HANDLE hThread1; HANDLE hThread2; hThread1 = CreateThread(NULL, 0, Func1Pro, NULL, 0, NULL); hThread2 = CreateThread(NULL, 0, Func2Pro, ... 阅读全文

posted @ 2013-07-31 11:41 悉野 阅读(645) 评论(0) 推荐(0) 编辑

MFC学习 多线程
摘要:#include #include #include HANDLE hMutex; //互斥对象void ProcessTask(void * args){ int a = 0; WaitForSingleObject(hMutex, INFINITE); while ( a < 100) printf("_beginthread %d\n", a++); ReleaseMutex(hMutex); //结束后会自动调用_endtrhead}unsigned int _stdcall ProcessTask2(void * args){ int... 阅读全文

posted @ 2013-07-30 15:47 悉野 阅读(242) 评论(0) 推荐(0) 编辑

MFC学习 socket
摘要:下面未处理异常tcpserver.cpp#include "WinSock2.h"#include #pragma comment(lib, "ws2_32.lib")#define PORT 1666int main(){ WORD wVersion = MAKEWORD(2, 2); int err; WSADATA wsaData; err = WSAStartup(wVersion, &wsaData); SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, NULL); sockaddr_in ad 阅读全文

posted @ 2013-07-29 13:56 悉野 阅读(511) 评论(2) 推荐(0) 编辑

MFC学习 序列化
摘要:void CArchiveView::OnWrite(){ // Archive就是可序列化的类, 要头文件中DECLARE_DYNCREATE(CArchiveDoc) // 重写 virtual void Serialize(CArchive& ar); //cpp文件中 IMPLEMENT_DYNCREATE(CArchiveDoc) //CObArray 有个Serialize函数可以将数组直接序列化 //新建文档和打开文档会调用DeleteContents(), 在堆上分配了内存的要在这个函数中删除指针 CFile file("1.txt", CF... 阅读全文

posted @ 2013-07-26 15:34 悉野 阅读(287) 评论(0) 推荐(0) 编辑

MFC学习 文件操作注册表操作
摘要:c读写文件void CFileView::OnRead(){ FILE *pFile = fopen("1.txt", "r"); /*char ch[100 * 1024]; memset(ch, 0, sizeof(ch)); fread(ch, 1, sizeof(ch), pFile); fclose(pFile); MessageBox(ch);*/ fseek(pFile, 0, SEEK_END); int len = ftell(pFile); char *pBuf; pBuf = new char[len +... 阅读全文

posted @ 2013-07-25 22:16 悉野 阅读(425) 评论(0) 推荐(0) 编辑

MFC学习 画图设置字体按钮风格
摘要:修改按钮样式时, 设置按钮关联哪个按钮类, 按钮类是自己写的, 从CButton继承, 重写DrawItem可修改按钮样式.代码中包括画线, 点, 圆, 设置这些的样式, 如线粗, 颜色, 字体.下载代码 阅读全文

posted @ 2013-07-24 18:07 悉野 阅读(944) 评论(0) 推荐(0) 编辑

MFC学习 修改窗口样式
摘要:1.在PreCreateWindow中可用CREATESTRUCT cs, cs.lpszName修改窗口标题, cs.lpszClass = AfxRegisterWndClass 修改图标与样式注册窗口后可用SetClassLong 修改窗口样式(根据所传的参数, 可以修改背景, 鼠标什么的)在View视图中使用AfxGetApp()->LoadCursor(IDC_CROSS)得不到鼠标Cursor, 可以使用LoadCursor(NULL, IDC_CROSS), 使用然后使用SetCursor2.ClientDC dc(this);CSize sz = dc.GetTextEx 阅读全文

posted @ 2013-07-17 18:00 悉野 阅读(1429) 评论(1) 推荐(0) 编辑

CCombobox AddString出错
摘要:1.CComboBox放在对话框构造函数中, 这时CCombobox对象还没建立, 所以出错, 应该放在OnInitDialog()中初始化.2. 使用的vs2005以上的IDE, 拖拉控件, 添加成员变量时CComboBoxEx对象, 不是CComboBox, 不支持AddString函数, 可用InsertItemAddString() This function is not supported by the Windows ComboBoxEx control. For more information on this control, see ComboBoxEx Controls 阅读全文

posted @ 2013-07-16 15:17 悉野 阅读(995) 评论(0) 推荐(0) 编辑

MFC学习 标签页与属性页及各常用控件使用
摘要:参考http://blog.csdn.net/anye3000/article/details/6700023CTabCtrl:BOOL CTabTestDlg::OnInitDialog(){ CDialog::OnInitDialog(); // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 m_Tab... 阅读全文

posted @ 2013-07-15 11:34 悉野 阅读(1294) 评论(1) 推荐(0) 编辑

MFC获取文本框字符串
摘要://方法1:使用用GetDlgItem,得到控件对像, 再GetWindowText //GetDlgItem(IDC_EDIT1)->GetWindowText() //方法2:控件与对应类关联如:Edit Control拖放到面板上, 然后在上面右击添加变量, 选择控件变量 CEdit, //以后可以使用这个CEDit的GetWindowText来获取文本(vc6中, 在类几导在的第二个标签, 在成员变量里面添加) //方法3:控件与具体数值类型关联, 修改数值后, 调用 UpdateData(), FALSE是向控件更新, TRUE, 向成员函数更新 //... 阅读全文

posted @ 2013-07-11 14:04 悉野 阅读(9608) 评论(0) 推荐(0) 编辑

[转]MFC中UpdateData()函数的使用
摘要:当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。用处:主要控制ddx_data把控件中的值和变量进行交换比如你有个编辑框,输入了一些值,你的程序怎么得到呢;必须先调用这个(当然是在用了ddx的情况)反之控件的成员变量中的值也可以通过该函数自动显示到控件里面,根据传进来的是true或者false当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希 阅读全文

posted @ 2013-07-08 16:26 悉野 阅读(288) 评论(0) 推荐(0) 编辑

CString, string, char*之间转换[转]
摘要:《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy().................................................................int 转 CString:CString.Format("%d",int);...............................string 转 CString CString.format("%s", string 阅读全文

posted @ 2011-10-20 11:19 悉野 阅读(262) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示