现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-08-08 13:18 工业·编程 ⁄ 共 3957字 暂无评论
1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的函数名去找该函数而找不到。(这是作用)    c文件中有一函数:               void Transfer(int a; char b);    cpp文件中必须用extern "C"声明该函数如下才可以实行调用:     ...
阅读全文
    如果这样定义对象:MyClass obj; 那么它的构造函数将会被执行,如果调用obj.MyMethod();也会执行正确。     可是如果带有括号:MyClass obj(); 那么它的构造函数不会被执行,调用obj.MyMethod();也会出现语法错误,请问这种语法是把obj定义成什么了? #include <iostream> class MyClass { public:     MyClass()     {   ...
阅读全文
为什么C程序中定义结构时经常要用到typedef呢?如: typedef struct _AM_WIN_MenuText {    int idc;    int message; } AM_WIN_MenuText; 为什么不直接把结构名定义为AM_WIN_MenuText然后使用就可以了。 取个类型的别名有什么作用呢? --------------------------------------------------------------- 那是因为不取别名的话,每次定义都要加struct --------------------...
阅读全文
2012-08-08 12:58 工业·编程 ⁄ 共 431字 暂无评论
break和continue的区别如下: 1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句 2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。 举例说明 int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) br...
阅读全文
2012-08-08 06:46 工业·编程 ⁄ 共 295字 暂无评论
//以下两个函数获取的是显示屏幕的大小,不包括任务栏等区域 int screenwidth=GetSystemMetrics(SM_CXFULLSCREEN); int screenheight=GetSystemMetrics(SM_CYFULLSCREEN); //以下两个函数获取的是真正屏幕的大小,即实际的大小 int screenwidth_real=GetSystemMetrics(SM_CXSCREEN); int screenheight_real=GetSystemMetrics(SM_CYSCREEN); //前两个函数获取的大小可能是1440*844 ,后两个获取的就是1440*900
阅读全文
2012-08-07 23:23 工业·编程 ⁄ 共 431字 暂无评论
在MFC中,都是以C++对象来操作窗口 而窗口是用句柄来标识的,这样就需要将窗口和C++对象关联起来 通过C++对象的成员变量m_hWnd来建立这种联系 如果一个窗口对象和一个窗口相关联了,那么我们要获取这个窗口对象(通常都是CWnd*形式),返回的就是一个持久的C++对象, 如果你要获取一个窗口(不是通过MFC类库创建的)的C++对象,那么MFC就会为你临时创建一个C++对象,返回其指针,这就是一个临时的对象。 作为临时对象,它在产生...
阅读全文
2012-08-07 23:18 工业·编程 ⁄ 共 1675字 暂无评论
WM_COMMAND产生的条件:点击菜单,点击加速键,点击子窗口按钮,点击工具栏按钮。这些时候都有command消息产生。 WM_COMMAND消息中有两个参数,wparam、lparam,定义如下:        wParam 高两个字节 通知码        wParam 低两字节 命令ID        lParam 发送命令消息的子窗体句柄。 对于菜单和加速键来说,lParam为0,只有控件此...
阅读全文
2012-08-07 23:15 工业·编程 ⁄ 共 1334字 暂无评论
    Windows给窗口发送消息,这意味著Windows调用窗口消息处理程序。但是,Windows程序也有一个消息循环,它调用GetMessage从消息队列中取出消息,并且调用DispatchMessage将消息发送给窗口消息处理程序。 那么,Windows程序是依次等待消息(类似于普通程序中相同的键盘输入),然后将消息送到某地方去的吗?或者,它是直接从程序外面接收消息的吗?实际上,两种情况都存在。 消息能够被分为「队列化的」和「非...
阅读全文
2012-08-07 23:10 工业·编程 ⁄ 共 834字 暂无评论
     在窗口大小发生改变时,系统往窗口发送WM_SIZE消息,WPARAM指出窗口新的状态,LPARAM给出窗口新的大小。窗口的状态有三种:SIZE_MINIMIZE,SIZE_MAXIMIZE,SIZE_RESTORED。系统根据当前窗口的状态,在产生WM_SIZE消息时指定不同的WPARAM。然而,系统如何知道窗口当前的状态。很显然,系统必须用一些内存保存窗口当前的状态。保存在哪里呢?     用spy++观察一个窗口,很快就可以发现在...
阅读全文
2012-08-07 22:59 工业·编程 ⁄ 共 2368字 评论 6 条
1.首先在初始化函数中,FormView在OnInitialUpdate(),Dialog在OnInitDialog()中初始化控件的大小。 //开始初始化控件大小 m_IsInitialed = false; CRect m_ClientRect; this->GetClientRect(&m_ClientRect); CSize m_Forsize; m_Forsize = GetTotalSize();//在资源编辑器中定好大小后,程序运行时大小(不管最大化和最小化,该大小均为同一个值),客户区大于或等于显示的大小 double m_x = (dou...
阅读全文