
V C++
V C++
^随风~~
思绪随风而过,唯有在此停留!
展开
-
cocos2dx集成MySQL调用存储过程来实现管理后台(通过MySQL的Connector C++实现)
MySQL C++ Driver的实现基于JDBC规范MySQL Connector/C++是由Sun Microsystems开发的MySQL连接器。它提供了基于OO的编程接口与数据库驱动来操作MySQL服务器。与许多其他现存的C++接口实现不同,Connector/C++遵循了JDBC规范。也就是说,Connector/C++ Driver的API主要是基于Java语言的JDBC接口。...原创 2020-01-02 16:24:45 · 254 阅读 · 1 评论 -
c++ STL----list对结构体的增加、删除、排序等操作
对STL中的list进一步学习,编程过程中对结构体的操作很多。全部代码如下:/* Project:list对结构体的使用 Date: 2018/07/14 Author: Frank Yu 常用函数:int size() 返回容器元素个数;bool empty() 判断容器是否为空,true为空; 增加函数:void push_back(元素) 尾元素...转载 2020-01-02 14:28:18 · 1352 阅读 · 0 评论 -
C++操作MySQL总结
数据库是软件开发中必不可少的一个环节。今天介绍下c++如何来操作数据库!C++操作数据库主要有2中方式:1、通过C++ API方式调用2、通过mysql的Connector C++=====================================================================================================...转载 2019-12-31 10:25:08 · 302 阅读 · 0 评论 -
多边形和剪贴区域
多边形也是一个GDI对象,同样遵守其他GDI对象的规则,只是通常都不将其选入DC中。在MFC中多边形有CRgn表示。多边形用来表示一个不同与矩形的区域,和矩形具有相似的操作。如:检测某点是否在内部,并操作等。此外还得到一个包含此多边形的最小矩形。下面介绍一下多边形类的成员函数:CreateRectRgn 由矩形创建一个多边形 CreateEllipticRgn 由椭圆创建一个多边形 Creat...原创 2019-12-02 15:07:20 · 127 阅读 · 1 评论 -
文档 视图 框架窗口间的关系和消息传送规律
在MFC中M$引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。(这一结构在MFC中的OLE,ODBC开发时又得到更多的拓展)因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。(VC6中支持创建不带文档-视的应用)在程序运行时CWinApp将创建一个CFrameWnd框架...原创 2019-12-02 15:05:08 · 152 阅读 · 0 评论 -
接收用户输入
在视中接收鼠标输入:鼠标消息是我们常需要处理的消息,消息分为:鼠标移动,按钮按下/松开,双击。利用ClassWizard可以轻松的添加这几种消息映射,下面分别讲解每种消息的处理。WM_MOUSEMOVE对应的函数为OnMouseMove( UINT nFlags, CPoint point ),nFlags表明了当前一些按键的消息,你可以通过“位与”操作进行检测。MK_CONTROL ...原创 2019-12-02 15:04:32 · 193 阅读 · 0 评论 -
使用菜单
利用菜单接受用户命令是一中很简单的交互方法,同时也是一种很有效的方法。通常菜单作为一中资源存储在文件中,因此我们可以在设计时就利用资源编辑器设计好一个菜单。关于使用VC设计菜单我就不再多讲了,但你在编写菜单时应该尽量在属性对话框的底部提示(Prompt)处输入文字,这虽然不是必要的,但MFC在有状态栏和工具条的情况下会使用该文字,文字的格式为“状态栏出说明\n工具条提示”。图33_g1我们要面...原创 2019-12-02 15:03:57 · 247 阅读 · 0 评论 -
文档,视,框架之间相互作用
一般来说用户的输入/输出基本都是通过视进行,但一些例外的情况下可能需要和框架直接发生作用,而在多视的情况下如何在视之间传递数据。在使用菜单时大家会发现当一个菜单没有进行映射处理时为禁止状态,在多视的情况下菜单的状态和处理映射是和当前活动视相联系的,这样MFC可以保证视能正确的接收到各种消息,但有时候也会产生不便。有一个解决办法就是在框架中对消息进行处理,这样也可以保证当前文档可以通过框架得到当...原创 2019-12-02 15:03:21 · 302 阅读 · 0 评论 -
利用序列化进行文件读写
在很多应用中我们需要对数据进行保存,或是从介质上读取数据,这就涉及到文件的操作。我们可以利用各种文件存取方法完成这些工作,但MFC中也提供了一种读写文件的简单方法——“序列化”。序列化机制通过更高层次的接口功能向开发者提供了更利于使用和透明于字节流的文件操纵方法,举一个例来讲你可以将一个字串写入文件而不需要理会具体长度,读出时也是一样。你甚至可以对字符串数组进行操作。在MFC提供的可自动分配内存的...原创 2019-12-02 15:02:44 · 304 阅读 · 0 评论 -
MFC中所提供的各种视类介绍
MFC中提供了丰富的视类供开发者使用,下面对各个类进行介绍:CView类是最基本的视类只支持最基本的操作。CScrollView类提供了滚动的功能,你可以利用void CScrollView::SetScrollSizes( int nMapMode, SIZE sizeTotal, const SIZE& sizePage = sizeDefault, const SIZE&am...原创 2019-12-02 15:02:14 · 189 阅读 · 0 评论 -
Button
按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。创建按钮:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* p...原创 2019-12-02 15:01:45 · 232 阅读 · 0 评论 -
Static Box
静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。创建一个窗口可以使用成员函数: BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,...原创 2019-12-02 15:01:12 · 235 阅读 · 0 评论 -
List Box/Check List Box
ListBox窗口用来列出一系列的文本,每条文本占一行。创建一个列表窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD...原创 2019-11-29 09:27:11 · 170 阅读 · 0 评论 -
Combo Box
组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISI...原创 2019-11-29 09:26:39 · 98 阅读 · 0 评论 -
Tree Ctrl
树形控件TreeCtrl和下节要讲的列表控件 ListCtrl在系统中大量被使用,例如Windows资源管理器就是一个典型的例子。树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const REC...原创 2019-11-29 09:26:06 · 156 阅读 · 0 评论 -
List Ctrl
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:LVS_...原创 2019-11-29 09:25:36 · 111 阅读 · 0 评论 -
Tab Ctrl
Tab属性页控件可以在一个窗口中添加不同的页面,然后在页选择发生改变时得到通知。MFC中使用CTabCtrl类来封装属性页控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些属性页控件的专用风格:TCS_BUTTON...原创 2019-11-29 09:25:04 · 98 阅读 · 0 评论 -
Tool Bar
工具条也是常用的控件。MFC中使用CToolBar类来封装工具条控件的各种操作。通过调用 BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );创建一个窗口,dwStyle中可以使用以下一些工具条控件的专用风格:CBRS_TOP ...原创 2019-11-29 09:24:31 · 112 阅读 · 0 评论 -
Status Bar
状态条用于显示一些提示字符。MFC中使用CStatusBar类来封装状态条控件的各种操作。通过调用 BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, UINT nID = AFX_IDW_STATUS_BAR );创建一个窗口,dwStyle中可以使用以下一些状态条控件的专用风格:...原创 2019-11-29 09:23:58 · 120 阅读 · 0 评论 -
Dialog Bar
Dialog Bar类似一个静态的附在框架窗口上的对话框,由于Dialog Bar可以使用资源编辑器进行编辑所以使用起来就很方便,在设计时就可以对Dialog Bar上的子窗口进行定位。用于显示一些提示字符。MFC中使用CDialogBar类来Dialog Bar控件的各种操作。通过调用 BOOL Create( CWnd* pParentWnd, UINT nIDTemplate, UINT n...原创 2019-11-29 09:23:25 · 231 阅读 · 0 评论 -
利用AppWizard创建并使用ToolBar StatusBar Dialog Bar
运行时程序界面如界面图,该程序拥有一个工具条用于显示两个命令按钮,一个用于演示如何使按钮处于检查状态,另一个根据第一个按钮的状态来禁止/允许自身。(设置检查状态和允许状态都通过OnUpdateCommand实现)此外Dialog Bar上有一个输入框和按钮,这两个子窗口的禁止/允许同样是根据工具条上的按钮状态来确定,当按下Dialog Bar上的按钮时将显示输入框中的文字内容。状态条的第一部分用...原创 2019-11-29 09:22:49 · 249 阅读 · 0 评论 -
General Window
从VC提供的MFC类派生图中我们可以看出窗口的派生关系,派生图,所有的窗口类都是由CWnd派生。所有CWnd的成员函数在其派生类中都可以使用。本节介绍一些常用的功能给大家。改变窗口状态: BOOL EnableWindow( BOOL bEnable = TRUE );可以设置窗口的禁止/允许状态。BOOL IsWindowEnabled( );可以查询窗口的禁止/允许状态。 BOOL Mo...原创 2019-11-29 09:22:12 · 210 阅读 · 0 评论 -
使用资源编辑器编辑对话框
在Windows开发中弹出对话框是一种常用的输入/输出手段,同时编辑好的对话框可以保存在资源文件中。Visual C++提供了对话框编辑工具,利用编辑工具可以方便的添加各种控件到对话框中,而且利用ClassWizard可以方便的生成新的对话框类和映射消息。首先资源列表中按下右键,可以在弹出菜单中选择“插入对话框”,如图1。然后再打开该对话框进行编辑,你会在屏幕上看到一个控件板,如图2。你可以将...原创 2019-11-27 17:25:06 · 1164 阅读 · 0 评论 -
创建有模式对话框
使用有模式对话框时在对话框弹出后调用函数不会立即返回,而是等到对话框销毁后才会返回(请注意在对话框弹出后其他窗口的消息依然会被传递)。所以在使用对话框时其他窗口都不能接收用户输入。创建有模式对话框的方法是调用CDialog::DoModal()。下面的代码演示了这种用法:CYourView::OnOpenDlg() { CYourDlg dlg; int iRet=dlg.DoModal();...原创 2019-11-27 17:24:25 · 201 阅读 · 0 评论 -
VC小知识总结
(1)如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED) //使程序最大化.(2)确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Exam...原创 2019-11-27 17:23:50 · 403 阅读 · 0 评论 -
fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds
错误1: unexpected end of file while looking for precompiled header directive改正方法:工程->设置->C/C++,在分类中选中“预编译的头文件”,然后选中“自动使用预补偿页眉”或“不使用预补偿页眉”错误2:unresolved external symbol __mbctype或unresolved exte...原创 2019-11-27 11:37:21 · 1520 阅读 · 0 评论 -
C++基础----补码
二进纸的负数转换为十进制表示需要通过补码转换的:(1)比如:char i=1;二进制表示为00000001(2)short i=~i;则运算为11111110;计算机中负数都是以补码的形式存在的,如果要转换为十进制,则要转换为补码的补码(求补码的原则是原码的符号位不变,其余位数取反加1):10000001+1=10000010显示出来就是-2。那么为什么需要补码呢?这是因...原创 2019-11-26 12:14:42 · 2696 阅读 · 0 评论 -
C++基础----float的浮点表示法
floati1=10.1;在内存中的表示为: 0100000100100001 10011001 10011010 那么不是我们想像中的用确定的值来进行描述的,而是一个近似数。 float共计32位(4字节) 31位是符号位,1表示该数为负,0反之30~23位,一共8位是指数位22~ 0位,一共23位是...原创 2019-11-26 12:12:59 · 3280 阅读 · 0 评论 -
C++基础----scanf()getchar()和gets()等函数的注意事项
---------------------------------------------------- |问题描述一:(分析scanf()和getchar()读取字符) | ---------------------------------------------------- scanf(), getchar()等都是标准...原创 2019-11-26 12:12:21 · 319 阅读 · 0 评论 -
C++基础----累加和
#include <stdio.h>//编程实现累加和1+2+3+4+...+10//算法实现步骤//1、两个变量相加(当然初始值是1,2),结果保留给第一个变量//2、后一个变量+1//3、循环1void main(){ int i=1,j; //要求用while语句实现 /*while(j<11) ////3、循环1 { //1、两个变量相加,结果...原创 2019-11-26 12:11:44 · 6002 阅读 · 1 评论 -
C++基础----c语言内存分配
c语言的4G虚拟寻址空间的概念 c语言变量分配与5个区的概念 c语言变量的使用与作用域 局部变量出作用域则销毁 文字常量区的销毁过程 代码区的销毁 全局变量与静态变量的销毁 堆区的销毁过程 c语言的4G虚拟寻址空间的概念 计算机内存分配的最小单位是字节,而数据操作的最小单位是...原创 2019-11-26 12:11:12 · 126 阅读 · 0 评论 -
C++基础----累加和递归实现
lude <stdio.h> //编程实现累加和1+2+3+4+...+10 //算法实现步骤 //1、两个变量相加(当然初始值是1,2),结果保留给第一个变量 //2、后一个变量+1 //3、循环1 int add1(int i,int j) { if (j==10) return i+j; i=i+j;//1、两...原创 2019-11-26 08:59:04 · 2625 阅读 · 0 评论 -
叶子
GDIViewView 绘制void CMyGDIViewView::OnDraw(CDC* pDC){ CMyGDIViewDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 CRect rc; GetClientRect(rc); pDC-&g...原创 2019-11-22 12:40:27 · 148 阅读 · 0 评论 -
GDI 函数及设备环境属性
属性 缺省值 GDI函数 背景色 白色 SetBkColor() 背景模式 ...原创 2019-11-22 12:39:07 · 144 阅读 · 0 评论 -
GDI基础一
CPaintDC 针对OnPaint()函数进行, OnPaint()首先构造一个CPaintDC()对象,再调用OnPreoareDC(),再来调用OnDraw()进行绘图。 void CMyView::OnPaint() { CPaintDC dc(this); OnPrepareDC(&dc); dc.TextOut(0,0,"...原创 2019-11-22 12:38:22 · 238 阅读 · 0 评论 -
GDI基础二
图形动态定位: CRectTracker 类允许用户在视窗里移动一个矩形对象或改变矩形对象的大小;成员函数有: void Draw(CDC* pDC) const;//用当前的风格来绘制矩形边框和调整大小 BOOL Track(CWnd* pWnd, CPoint point, BOOL bAllowinvert = FALSE, CWnd* pWndClipTo ...原创 2019-11-22 12:37:43 · 228 阅读 · 0 评论 -
关于AfxGetMainWnd()->m_hWnd和sendmessage()函数
用向导建立一个单文档/多文档程序,其中最外面的框架叫做 frame ,包括标题、最大最小化按钮、菜单、工具条、以及 view 等都在 frame 中。frame 中,中间那块白色的部分被 view 占据。 AfxGetMainWnd() 就是取得此 frame 的指针,m_hWnd 是此 frame ...原创 2019-11-22 12:36:15 · 878 阅读 · 0 评论 -
Edit Box
Edit窗口是用来接收用户输入最常用的一个控件。创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VIS...原创 2019-12-02 15:06:28 · 186 阅读 · 0 评论