经管学习笔记(2)

昨天总结了一下socket的相关知识!今天总结一下整个过程中应用到的MFC相关的知识……虽然知识量不大,但毕竟也算是走过的石头,都为大道铺路吧……

1.添加一个新窗口,如果是静态插入到父窗口区域,可参考http://www.cnblogs.com/zhaoxiaoming/archive/2011/10/11/MFC_ChildDialog.html。如果是点击按钮,弹出另一个窗口,需要在资源中添加新的dialog,属性设置为popup。然后在调用类中,添加被调用类的一个对象作为调用类的一个对象,之后如下加载窗口:

CtradeHistory cTradeHsrtory;

cTradeHsrtory.DoModal();

在实际应用中,经常需要在调用时,向被调用窗口传入参数。这里比较简单的方式是:

在被调用类中添加用作参数的成员变量,然后再调用类加载窗口的时候,生成新的对象的时候,为被对象的一些成员赋值,从而起到了传参的效果。如下:

CtradeHistory cTradeHsrtory;
cTradeHsrtory.pExpGlobal = new global;
memcpy((char*)cTradeHsrtory.pExpGlobal,(char *)server->pExpGlobal,sizeof(global));
cTradeHsrtory.pExpRowInfo = new rowInfo[mTotalNum * mTotalRow];
memcpy((char*)cTradeHsrtory.pExpRowInfo,(char *)server->pExpRowInfo,sizeof(rowInfo)*mTotalNum * mTotalRow);
cTradeHsrtory.DoModal();

2.ON_MESSAGE消息响应

之前一直以为只有在同一个类中CseverTrustDlg中(如果对话框类为CseverTrustDlg),才能够使得消息能够正确的响应。因为消息只能定义一次,如果是在不同的类中,不定的话用不了,定义的话,应该会引起重定义吧。

       之后的一试发现,在两个头文件中分别定义消息,然后就可以当做是在CseverTrustDlg中使用消息。如:

CseverTrustDlg.h中

#define MYMSG WM_USER+200

        server.h中

#define MYMSG WM_USER+200

server.cpp中

SendMessage(m_hwnd,MYMSG,(WPARAM)connectedNum,(LPARAM)connectedNum);

CseverTrustDlg.cpp中

ON_MESSAGE(MYMSG,clientConnectMessage)   //线程发消息给主进程修改界面

如此,clientConnectMessage可以得到执行。

3.剩下的就是对一堆控件的操作了。常用的函数:

GetDlgItem();

EnableWindow();

UpdateData()

SetWindowTextW();

SetItemText();

InsertColumn();

InsertItem();

   ………………


MFC用的不多,类似于框架的东西,总是熟能生巧。最重要的是当面临复杂数据库的时候,如何设计数据库,采用何种的设计模式?



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值