DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 455 456 457 458 459 460 461 462 463 ··· 474 下一页

2012年7月19日

摘要: 基于 TCP 的 socket 编程/*服务器端程序流程:1.加载套接字库 WSAStartup2.创建套接字 socket3.将我们创建的套接字,绑定到本机地址的某一端口上 bind4.为套接字设置监听模式,准备客户请求 listen5.等待客户请求到来。当请求到来,将接受连接请求,并返回一个新的对应于此次连接的套接字 accept6.用新返回的套接字和客户端进行通信 send / recv7.在通信结束后,关闭套接字 closesocket客户端程序流程:1.加载套接字库 WSAStartup2.创建套接字 socket3.向服务器发出请求连接 connect4.和服务器进行通信 ... 阅读全文
posted @ 2012-07-19 09:58 DoubleLi 阅读(2470) 评论(0) 推荐(1)

摘要: 菜单结构一个菜单栏可以有若干个子菜单,而一个子菜单又可有若干个菜单项。对于菜单栏的子菜单,由左至右从0开始索引。对于特定的子菜单的菜单项,由上至下建立从0开始的索引。访问子菜单和菜单项,均可通过其索引或标识进行。对于在窗口客户区右键弹出的菜单,如果弹出菜单归属View 类窗口,则菜单项只能响应View 和Doc 类消息点击。如果弹出菜单归属框架窗口,弹出菜单上的消息的路由遵循View -DOC-MainFrame-APP的响应顺序 。菜单的相关重要函数CMenu* GetMenu( ) ; // 得到菜单指针CMenu* GetSubMenu( ) ;// 得到子菜单指针,也就是弹出菜单指.. 阅读全文
posted @ 2012-07-19 09:50 DoubleLi 阅读(8056) 评论(0) 推荐(2)

摘要: 一、创建对话框对象1.首先利用资源编辑器创建对话框资源,并针对该对话框资源定义一个对话框类:class CTestDlg : public CDialog2.创建话话框对象模态对话框的创建: 如: CTestDlg dlg; dlg.DoModal();非模态对话框创建: 如: CTestDlg dlg;dlg.Create(IDD_DIALOG, this); 但这样是得不到一个正常显示的非模态对话框的。因为模态与非模态对话框的实现方式并不相同,这里我们还要注意几点。非模态对话框创建完成后是隐藏着的,必须调用ShowWindow来进行显示。对于模态对话框,当执行到DoModal 函数以创建对 阅读全文
posted @ 2012-07-19 09:19 DoubleLi 阅读(13909) 评论(3) 推荐(0)

2012年7月17日

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

摘要: from:http://blog.csdn.net/leolee82/article/details/6992626先载入一张图片,ID为IDB_BITMAP2TestDlg.h中:CBrush m_brBk;//在public中定义TestDlg.cpp中:在初始化函数OnInitDialog()中加入:[cpp] view plaincopyprint?BOOLCTestDlg::OnInitDialog(){CDialog::OnInitDialog();CBitmapbmp;bmp.LoadBitmap(IDB_BITMAP2);m_brBk.CreatePatternBrush(&a 阅读全文
posted @ 2012-07-17 16:41 DoubleLi 阅读(2616) 评论(0) 推荐(0)

摘要: from:http://blog.csdn.net/leolee82/article/details/6992615windows编程 全屏窗口的创建总结第一种:较简单的方法在ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);前加如下代码:[cpp] view plaincopyprint?LONGstyle=GetWindowLong(hwnd,GWL_STYLE);//获得窗口风格 style=&~WS_CAPTION&~WS_SIZEBOX;//窗口全屏显示且不可改变大小 SetWindowLong(hwnd,GWL_ST 阅读全文
posted @ 2012-07-17 16:38 DoubleLi 阅读(6363) 评论(0) 推荐(0)

摘要: from:http://blog.csdn.net/leolee82/article/details/6992590先认识一下MFC中的一些和绘图有关的结构体和类 1.点 (1)点结构POINT点数据结构POINT用来表示一点的x、y坐标: typedef struct tagPOINT { LONG x; LONG y; } POINT; (2)点类CPoint 点类CPoint为一个没有基类的独立类,封装了POINT结构,有成员变量x和y 其构造函数有5种: CPoint( ); CPoint( int initX, int initY ); CPoint( POINT initPt ); 阅读全文
posted @ 2012-07-17 16:35 DoubleLi 阅读(8247) 评论(0) 推荐(1)

摘要: from:http://hi.baidu.com/c996387762/blog/item/d1d54b250412602cd40742b2.html首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。 在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样 阅读全文
posted @ 2012-07-17 16:30 DoubleLi 阅读(1102) 评论(0) 推荐(1)

摘要: 画刷类CBrush利用画笔可以画图形的边框,而用画刷就可以在图形内着色。大多数的GDI绘图函数既使用画笔又使用画刷,它们用画笔绘制各种图形的周边,而用画刷填充图形,因而可以用一种颜色和风格去设置画笔,而用另一种颜色和风格去设定画刷,通过一次函数调用就可以绘制出形状复杂的图形。画刷是由CBrush类管理的,创建画刷有两种方法:一种是调用构造函数,另一种是调用相关的成员函数。1.CBrush的构造函数CBrush类的结构函数定义如下:① CBrush( );② CBrush( COLORREF crColor );throw( CResourceException );③ CBrush( int 阅读全文
posted @ 2012-07-17 16:22 DoubleLi 阅读(23567) 评论(0) 推荐(1)

摘要: AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名、窗口是叠加型的、可改变窗口大小等。要修改窗口的缺省风格,需要重载CWnd::PreCreateWindow(CREATESTRUCT& cs)函数,并在其中修改CREATESTRUCT型参数cs。CWnd::PreCreateWindow 函数先于窗口创建函数执行。如果该函数被重载,则窗口创建函数将使用CWnd::PreCreateWindow 函数返回的CREATESTRUCT cs参数所定义的窗口风格来创建窗口;否则使用预定义的窗口风格。CREATESTRUCT结构定义了创建函数创建窗 阅读全文
posted @ 2012-07-17 16:11 DoubleLi 阅读(5776) 评论(1) 推荐(0)

上一页 1 ··· 455 456 457 458 459 460 461 462 463 ··· 474 下一页