关于void CMainFrame::OnSize(UINT nType, int cx, int cy) 的使用? [问题点数:40分,结帖人sijinbao88]

Bbs1
本版专家分:0
结帖率 100%
Bbs2
本版专家分:150
Bbs1
本版专家分:0
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  <em>cx</em>,<em>cy</em>  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘函数,       再在OnPa<em>int</em>()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPa<em>int</em>()中取出<em>cx</em>,<em>cy</em>值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
MFC程序,在OnSize函数中怎么才能自动缩放
-
OnSize()与OnPaint()的问题!
问题背景: 我把对话框设置成了可以放大和缩小,放大和缩小的同时缩放我绘制的图形。 我发现一个问题,如果我扩大对话框的话系统就可以调用OnPa<em>int</em>(),如果我缩小对话框的话系统就不会调用OnPa<em>int</em>
窗口大小变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFOWM_SIZINGWM_SIZE。
CMyDlg::OnSize(UINT nType, int cx, int cy)参数UINT是什么类型。
CMyDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>)参数UINT是什么类型。
SetWindowExt( int cx, int cy )的用法问题
SetWindowExt( <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em> )rn中<em>cx</em> 和<em>cy</em> 是什么意思啊?为什么在单文档中,当<em>cx</em>=10,<em>cy</em>=10画的图都看不见了啊?找列子看,一般都是<em>cx</em>=100,<em>cy</em>=100,请高人指教!!rnrn
void TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT)?
<em>void</em> TransparentBlt(HDC,<em>int</em>,<em>int</em>,<em>int</em>,<em>int</em>,HDC,<em>int</em>,<em>int</em>,<em>int</em>,<em>int</em>,UINT)rn函数有什么功能?rn
int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); 想显示 int float 怎么类型转换?
<em>int</em> AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); 想显示 <em>int</em> float 怎么类型转换?
请问void (*)(int *)(int)与void (*)(int )(int)指针怎么定义?
请问<em>void</em> (*)(<em>int</em> *)(<em>int</em>)与<em>void</em> (*)(<em>int</em> )(<em>int</em>)指针怎么定义?
[MFC]Dialog窗口大小调整控制OnSize/OnSizing
参考:http://www.360doc.com/content/08/1210/09/799_2090143.shtml 参考:MSDN   0. 启用对话框为可调节对话框     在对话框 属性->外观Border,选择Resizing   1. 对话框的大小限制,预想好允许用户调整的大小范围,通常下限为我们自认为需要确保的大小信息      MinWidth   = ;
函数onsize()与onsizing()区别
OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(<em>cx</em>和<em>cy</em>指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了它们都是CWnd类的成员函数. OnSize()在窗口尺寸修改后被框架函数调用,函数原型是: afx_msg <em>void</em> OnSize( UINT nType, <em>int</em> <em>cx</em>, <em>int</em> c
MFC窗体消息之尺寸被改变 OnSize()
在窗口的大小更改后,框架调用该成员函数。 afx_msg <em>void</em> OnSize(    UINT nType,     <em>int</em> <em>cx</em>,     <em>int</em> <em>cy</em>  ); 参数nType 指定请求的调整大小的类型。  此参数可以是下列值之一:     SIZE_MAXIMIZED 窗口最大化。     SIZE_MINIMIZED 窗口最小化。    SIZE_RESTOR
为什么我的OnSize函数执行了三次?请教一下
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your
OnSize (UINT nFlags, int cx, int cy)事件的 cxcy 中保存的是改变前的范围还是改变后的范围啊?
OnSize (UINT nFlags, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>)事件的 <em>cx</em> 与 <em>cy</em> 中保存的是Window改变大小前的范围还是改变后的范围啊?我在 OnSize 事件中处理 SCROLL,
int (*fun(int*, int*, void (*p)(int))) (int*, int*, void (*)(int)) 什么意思呀
<em>int</em> (*fun(<em>int</em>*, <em>int</em>*, <em>void</em> (*p)(<em>int</em>))) (<em>int</em>*, <em>int</em>*, <em>void</em> (*)(<em>int</em>)) rnrn return fun (0, 0, p);rnrnrn不懂呀
main(),int main(),void main(),void main(void),int main(void).int main(int argc,
<em>关于</em>main(),<em>int</em> main(),<em>void</em> main(),<em>void</em> main(<em>void</em>),i<em>int</em> main(<em>void</em>).<em>int</em> main(<em>int</em> argc, char* argv[])......越弄越晕,求解答
int* 到void*
rn 将一个<em>int</em>(4字节)的内容拷贝到一个字节数组中。。。。rnrn以下代码是别人的:rnrn[code=C/C++]unsigned char bytesbuffer[32];rnrn<em>int</em> a=1;rnrnmemcpy(bytesbuffer,&a,4);[/code]rnrn有几个疑问:rnrn1. memcpy这个函数的参数类型前两个是<em>void</em>*rnrnbytesbuffer是unsigned char*rnrn&a是<em>int</em>* ,能够正确的拷贝吗?rnrn2. <em>int</em>*会自动转换为<em>void</em>* ,隐士转换, rnrn<em>void</em>* 惭愧,平时没用到过,引入有什么用途?rnrn
intvoid
static <em>int</em> Main()与static <em>void</em> Main()rn之间有什么差别..除了类型上..
BOOL SetColumnWidth( int nCol, int cx )中cx的作用
请问哪位高手能告诉我CListCtrl::SetColumnWidthrnBOOL SetColumnWidth( <em>int</em> nCol, <em>int</em> <em>cx</em> )中<em>cx</em>的值LVSCW_AUTOSIZE 和rnLVSCW_AUTOSIZE_USE_HEADER是什么意思?
MFC关于获取子窗口CWnd
-
窗口变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFOWM_SIZINGWM_SIZE。   OnGetMi
诡异的MoveWindow!!!OnSize()无响应
现象是这样: 当主对话框的大小发生改变时,我在OnSize()里对子控件进行了重新排列。 调用 m_pChild->MoveWindow(&rcChild, TRUE); 调整子控件大小。 诡异的是:
MFC窗口怎么显示halcon采集到的图片
-
对话框OnSize 自动调整控件大小和位置
对话框执行<em>onsize</em>消息时根据参数自动调整对话框上的控件大小和位置到合适位置,对话框执行<em>onsize</em>消息时根据参数自动调整对话框上的控件大小和位置到合适位置。
void(*x(int,void(*y)(int)))(int);是个什么东西。。
<em>void</em>(*x(<em>int</em>,<em>void</em>(*y)(<em>int</em>)))(<em>int</em>);rnrn
void (*signal(int signr,void (*handler)(int)))(int)怎么理解?
rn我对<em>void</em> (*signal(<em>int</em> signr, <em>void</em> (*handler)(<em>int</em>)))(<em>int</em>)的理解是:rn================================================ rn<em>void</em> (*handler)(<em>int</em>) rnhandler是一个函数指针,指向参数为单参数<em>int</em>,返回类型<em>void</em>的函数;rnrn<em>void</em> (*signal(<em>int</em> signr, x ) ) (<em>int</em>) /用x代替 <em>void</em> *handler)(<em>int</em>),便于理解;rn从上式可以看出signal也是一个函数指针。它是带参数的指针函数,参数有两个:一个是<em>int</em> signr,另一个是<em>void</em> *handler)(<em>int</em>)。 也就是说signal是一个函数指针,这个函数指针指向一个参数为一个<em>int</em>型和一个handler型的指针、返回值是一个指向参数为<em>int</em>、返回值是<em>void</em>的函数的指针的指针。rnrn现在的问题是:函数指针signal的应用。函数指针的<em>使用</em>怎么会是signal(1,handler1); ?rn一般函数指针的<em>使用</em>如下:rn<em>void</em> (*handler)(<em>int</em>) ;rn<em>int</em> max(<em>int</em> ,<em>int</em>);rnhandler=max;rnc=(*handler)(a,b);rnrn还望哪位指点一下。
void (*signal(int,void(*)(int)))(int); unix信号函数的声明?
<em>void</em> (*signal(<em>int</em>,<em>void</em>(*)(<em>int</em>)))(<em>int</em>); unix信号函数的声明。rn各位帮我详细解释下它这样组合是什么意思?详细点好吗?
void(*signal(int signo,void(*func)(int)))(int)
小弟正在学信号通讯的有关知识,里面用到这个函数原型,是<em>关于</em>信号处理的。rn到底怎么理解啊?眼睛都看花了。。
void(*x(int,void(*y)(int)))(int);大家看看这个,
如题,求大神帮我分析分析。。。。。。是不是要用左右法则呢?最好具体点。
MFC中 的OnSize被调用的问题
MFC中 的OnSize、OnCreate、OnPa<em>int</em>、OnInitDialog()先后调用顺序及关系??尤其是OnSize什么时候被调用?调用几次啊? 有别人的个对话框程序,程序开始有这一句en
OnSize
<em>void</em> CtestOnSizeDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) { CDialogEx::OnSize(nType, <em>cx</em>, <em>cy</em>); // m_OldRect在构造函数里初始化为0,所以当第一个调OnSize()的 // 时候,缩放比例为1.0 <em>int</em> nWidth = m_OldRect.right - m_OldRe
一个CWnd对象的onpaint函数中,动态Create两个子窗口时造成wincore.cpp中的断言错误。
-
mfc子窗体OnSize后,最小化还原,控件全没了
一个程序中,创建了一个非模态对话框,为了更加方便,我设置了这个对话框能自由调整窗口大小,控件随之而变大 <em>void</em> Cdialogservice::OnSize(UINT nType, <em>int</em> <em>cx</em>,
OnSize(UINT nType, int cx, int cy)
这样得到的<em>cx</em>,<em>cy</em>是不是屏幕的宽度和高度?和GetSystemMetrics又有什么区别呢?我想设计一个任何像素的屏幕都能正常显示的界面,该用哪个函数?
void ( *signal( int sig, void (*func)(int) ) ) (int);
各位前配帮我分解一下它的意思?
uintint的区别
<em>u<em>int</em></em>无符号<em>int</em> 什么是有符号 难道负数就是有符号???
intuint数据类型
Solidity智能合约编程视频培训教程:课程主要分为5部分, 全部手把手敲, 案例驱动教学。内容包含1、以太坊概念介绍、区块交易与智能合约查看、叔块、Gas的计算;2、合约部署流程、Solidity基本语法、属性与函数访问修饰符、面向对象实现3、综合案例-转账:用户、合约相互转账, Address、Msg<em>使用</em>;4、综合案例-众筹:映射、结构体的<em>使用</em>;5、综合案例-去中心化投票:结构体、分布式投票逻辑
CString 到 UINT or int的转换?
UINT nHillNum;rnCString strHillNum;rnstrHillNum="003";rn如果我要将strHillNum中的"003"转换到nHillNum中并使它等 3 ,我应该怎么做?rn另外,rnstrFileName=strData.Left(nCount);// 已知nCount=9rn为什么rnstrFileName="Flash.exe@@@@@@@@@@@@@@@@@@@@MZ" //为什么会得出这个值?rn谢谢各位!rn
Onsize()时如何解决闪烁现象?我已经使用了双缓冲,在滑块移动时没出现闪烁,但是窗口大小改变时,却闪烁了
如何解决这个问题?大家发言
编辑框控件随窗口大小变化重写OnSize()
最近在学mfc, 模仿一个记事本。文本内容用编辑框来显示。 当窗口变化时,通过以下代码,可以实现编辑框随窗口一起变化。 需要注意的是在<em>使用</em>编辑框指针前,一定要加上判断。因为第一次OnSize() 被调用时,编辑框对象还没有生成,只有窗口对象。 <em>void</em> CNotePadDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>)  { CDialog::OnSize(
MFC重写OnSize()之后控件丢失
我重写了窗口的OnSize()消息,想要控件的布局随着窗口的大小变化,但是点击最大化,最小化的侍候,窗口中的控件就丢失了,请各位高人指点迷津。 具体重写代码给出如下:<em>void</em> CMyEverythin
MFC 窗口自动填充 消息Onsize()
<em>void</em> CRightView::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) { CFormView::OnSize(nType, <em>cx</em>, <em>cy</em>); // TODO: 在此处添加消息处理程序代码 CSize sizeTotal; sizeTotal.<em>cx</em> = <em>cx</em>; sizeTotal.<em>cy</em> = <em>cy</em>; SetScrollSizes(MM_TEXT, siz
MFC自绘窗口的时候,OnSize
<em>void</em> CDialogEx::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) { CDialog::OnSize(nType, <em>cx</em>, <em>cy</em>); //计算偏移 INT nYPos=1; INT nXPos=<em>cx</em>-nCloseWidth; //设置位置 m_rcButton[BST_CLOSE].SetRect(nXPos,
请教高手int 和 UINT
在vc中有<em>int</em> 和 UINT,WORD 和 DWORD。请问具体到实践中是么时候该用<em>int</em> ,什么时候又该用UINT呢?
C# uintint
[code=C#]public enum FType: <em>u<em>int</em></em>rn S = 0x80000000,rn A = 0x00000001;rn[/code]rn如果定义枚举存储类型为<em>u<em>int</em></em>会出警告,如果定义为<em>int</em>,S的值还不符合,求解决办法
UINT和unsigned int的区别
在动态库中:rnrnUINT和unsigned <em>int</em>的区别???
cannot convert parameter 1 from 'void(int,int,int,int)'to 'void(_cdecl *)(int ,i
你好,我想问一下,我在VC6.0中<em>使用</em>C++写的代码。我想拾取所画图点的位置,鼠标点击的时候显示三维图形的坐标,然后<em>使用</em>了glutMouseFunc(MousePlot)函数。<em>void</em> MousePlot(GL<em>int</em> button,GL<em>int</em> action,GL<em>int</em> xMouse,GL<em>int</em> yMouse);然后就报错‘glutMouseFunc’:cannot convert parameter 1 from '<em>void</em>(<em>int</em>,<em>int</em>,<em>int</em>,<em>int</em>)'to '<em>void</em>(_cdecl *)(<em>int</em> ,<em>int</em> ,<em>int</em> ,<em>int</em> )'. none of the function with this name in scope match the target type.各位大神帮帮忙,我刚开始接触OpenGL这块内容,先谢谢了
.cx和.cy是什么
看的一段代码、rn rn rn.<em>cx</em> .<em>cy</em>是啥意思了rn请指教了!~~~~~rn
MFC窗口变化消息( OnSize、OnSizing和OnGetMinMaxInfo)
最近用到窗口变化的一些东西,遇到几个相关的消息函数,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理函数:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFOWM_SIZINGWM_SIZE。
一个有关MFC的OnSize和MoveWindow结合的问题
-
MFC关于OnSize和MoveWindow关系的梳理
-
如何调用ONSIZE??????
我想在代码中执行<em>onsize</em>()中的代码,但是不知道如何调!<em>onsize</em>有三个参数.我不想调整窗口的大小.求助!
在vue中监听windows.onsize自适应屏幕
http://blog.csdn.net/efficien<em>cy</em>9/article/details/72857579
如何把 int (__stdcall *(void))(void) 转换成 int (__stdcall *)(void)
或者说如何写一个<em>int</em> (__stdcall *)(<em>void</em>)的自定义函数
void* fnptr; (void *)fnptr; void (*p) (int ,int)之前的区别
如题,我在一个结构体中看到了据说是函数指针的这样的声明,<em>void</em>* fnptr;,可以不要参数吗?rn然后调用这个结构体的时候在函数指针的位置上写了(<em>void</em> *)fnptr;<em>void</em>加上括号了,这样声明和第一种有什么不同,但我在书上看到函数指针的声明是如下:<em>void</em> (*p) (<em>int</em> ,<em>int</em>),求解他们之间的区别。
typedef void (GLUTCALLBACK *GLUTmouseCB) (int, int, int, int);
typedef <em>void</em> (GLUTCALLBACK *GLUTmouseCB) (<em>int</em>, <em>int</em>, <em>int</em>, <em>int</em>);rn这句话什么意思,rnrn我分析glutMouseFunc(GLUTCurrentCB mouseFunc)时 里面有句__glutCurrentWindow->mouse=mouseFunc;rn然后分析__glutCurrentWindow结构里有句:GLUTmouseCB mouse; rn然后分析到这个:typedef <em>void</em> (GLUTCALLBACK *GLUTmouseCB) (<em>int</em>, <em>int</em>, <em>int</em>, <em>int</em>);到头了。rn请问这句话是什么意思rn望高手解释一下,万分感谢!
void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point)
<em>void</em> CMainFrame::OnLButtonDown(UINT nFlags, CPo<em>int</em> po<em>int</em>) rnrn //为啥我在窗口内单击,鼠标形状不改变??rn this->BeginWaitCursor();rnrn CFrameWnd::OnLButtonDown(nFlags, po<em>int</em>);rnrn而在视类的函数里就改变的。
关于VOID 和 int 请赐教!
class Rectanglernrn <em>int</em> l,w;rn <em>int</em> perimeter()rn rn return 2*(l+w);rn rn <em>int</em> area()rn rn return l*w;rn rn rn rn在这个程序中为什么用<em>int</em> area(),面不用 <em>void</em> area(),在这里为什么用<em>int</em> 而VOID又在什么情况下用呢?
MFC OnSize事件调用时间
在O<em>cx</em>控件被加载时,第一次调用OnSize事件实在控件中的各个部件未加载前,此时如果操作控件中的控件会出现控制针异常,需要提前判断。 CTestDlg m_dlg; <em>int</em> CTestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) ==
消息OnSize的用法
面板的控件随面板的大小,位置大小也可以变化。afx_msg <em>void</em> OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>);<em>void</em> CstatusBar_MenuView::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) {            CFormView::OnSize(nType, <em>cx</em>, <em>cy</em>);           if
点击窗口最大化调用onsize的问题
用vs2010创建一个对话框,创建时代最大化、最小化按钮,但点击最大化,最小化时没有掉用WM_SIZE函数数,这是为什么,不解
MFC 控件大小随窗体改变而改变大小-OnSize
转载:https://blog.csdn.net/zhoxier/article/details/7776128 一个基于对话框的MFC界面,怎么样才能让对话框里的控件能和对话框同比例变小变大?今天我一直想解决这个问题,这是师姐留给我的任务。经过在网上的大量搜素,终于找到了解决方法,其实比较简单。 &amp;nbsp;&amp;nbsp; 一般情况下...
void main( ) 和int main void()
很多人甚至市面上的一些书籍,都<em>使用</em>了<em>void</em> main( ) ,其实这是错误的。C/C++ 中从来没有定义过<em>void</em> main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition <em>void</em> main( ) /* ... */ is not and never has been C++, nor has it even been C.( <em>void</em> main( ) 从来就不存在于 C++ 或者 C )。下面我分别说一下 C 和 C++ 标准中对 main 函数的定义。 rnrn rnrn1. C rnrn rnrn 在 C89 中,main( ) 是可以接受的。Brian W. Kernighan 和 Dennis M. Ritchie 的经典巨著 The C programming Language 2e(《C 程序设计语言第二版》)用的就是 main( )。不过在最新的 C99 标准中,只有以下两种定义方式是正确的: rnrn rnrn <em>int</em> main( <em>void</em> ) rnrn <em>int</em> main( <em>int</em> argc, char *argv[] ) rnrn rnrn(参考资料:ISO/IEC 9899:1999 (E) Programming languages — C 5.1.2.2.1 Program startup) rnrn rnrn 当然,我们也可以做一点小小的改动。例如:char *argv[] 可以写成 char **argv;argv 和 argc 可以改成别的变量名(如 <em>int</em>val 和 charval),不过一定要符合变量的命名规则。 rnrn rnrn 如果不需要从命令行中获取参数,请用<em>int</em> main(<em>void</em>) ;否则请用<em>int</em> main( <em>int</em> argc, char *argv[] ) 。 rnrn rnrn main 函数的返回值类型必须是 <em>int</em> ,这样返回值才能传递给程序的调用者(如操作系统)。 rnrn rnrn 如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。注意,vc6不会在目标文件中加入return 0; ,大概是因为 vc6 是 98 年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上 return 语句了吧!不过,gcc3.2(Linux 下的 C 编译器)会在生成的目标文件中加入 return 0; 。 rnrn rnrn rnrn2. C++ rnrn rnrn C++98 中定义了如下两种 main 函数的定义方式: rnrn rnrn <em>int</em> main( ) rnrn <em>int</em> main( <em>int</em> argc, char *argv[] ) rnrn rnrn(参考资料:ISO/IEC 14882(1998-9-01)Programming languages — C++ 3.6 Start and termination) rnrn rnrn <em>int</em> main( ) 等同于 C99 中的 <em>int</em> main( <em>void</em> ) ;<em>int</em> main( <em>int</em> argc, char *argv[] ) 的用法也和 C99 中定义的一样。同样,main 函数的返回值类型也必须是<em>int</em>。如果main函数的末尾没写return语句,C++98 规定编译器要自动在生成的目标文件中加入 return 0; 。同样,vc6 也不支持这个特性,但是 g++3.2(Linux 下的 C++ 编译器)支持。 rnrn rnrn rnrn3. <em>关于</em> <em>void</em> main rnrn rnrn 在 C 和 C++ 中,不接收任何参数也不返回任何信息的函数原型为“<em>void</em> foo(<em>void</em>);”。可能正是因为这个,所以很多人都误认为如果不需要程序返回值时可以把main函数定义成<em>void</em> main(<em>void</em>) 。然而这是错误的!main 函数的返回值应该定义为 <em>int</em> 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,<em>void</em> main 可以通过编译(如 vc6),但并非所有编译器都支持 <em>void</em> main ,因为标准中从来没有定义过 <em>void</em> main 。g++3.2 中如果 main 函数的返回值不是 <em>int</em> 类型,就根本通不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 <em>int</em> main 。 rnrn rnrn rnrn4. 返回值的作用 rnrn rnrn main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出;返回其它数字的含义则由系统决定。通常,返回非零代表程序异常退出。下面我们在 winxp 环境下做一个小实验。首先编译下面的程序: rnrn rnrn <em>int</em> main( <em>void</em> ) rnrn rnrn return 0; rnrn rnrn rnrn然后打开附件里的“命令提示符”,在命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件夹和文件。但是如果改成“return -1”,或者别的非 0 值,重新编译后输入“a && dir”,则 dir 不会执行。因为 && 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行。也就是说,利用程序的返回值,我们可以控制要不要执行下一个程序。这就是 <em>int</em> main 的好处。如果你有兴趣,也可以把 main 函数的返回值类型改成非 <em>int</em> 类型(如 float),重新编译后执行“a && dir”,看看会出现什么情况,想想为什么会出现那样的情况。顺便提一下,如果输入 a || dir 的话,则表示如果 a 异常退出,则执行 dir 。 rnrn rnrn rnrn5. 那么 <em>int</em> main( <em>int</em> argc, char *argv[], char *envp[] ) 呢? rnrn rnrn 这当然也不是标准 C/C++ 里面定义的东西!char *envp[] 是某些编译器提供的扩展功能,用于获取系统的环境变量。因为不是标准,所以并非所有编译器都支持,故而移植性差,不推荐<em>使用</em>。 rn
这个是什么意思?cannot convert parameter 1 from 'void (int,int)' to 'void (__cdecl *)(int,int,int,int)'
我想写个OpenGL的键盘鼠标交互功能,但是出了点问题我不知道怎么改rnrn<em>void</em> myKeyboard(char theKey)rnrn switch(theKey)rn rn case'1':rn glPushMatrix();rn glTranslated(0.5, 0.5, 0.5); //在(0.5, 0.5, 0.5)处画一个大立方体rn glutWireCube(1.0);rn glPopMatrix();rn break;rn case'2':rn glPushMatrix();rn glTranslated(1.0, 1.0, 0); //在(1.0, 1.0, 0)处画一个球体rn glutWireSphere(0.25, 10, 8);rn glPopMatrix();rn break;rn case'0':rn exit(-1); //终止程序rn default:rn break; //无操作rn rnrnrn<em>void</em> myMouse(<em>int</em> button, <em>int</em> state)rnrn if(button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN)rn glClear(GL_COLOR_BUFFER_BIT);rn glFlush();rnrnrn<em>void</em> main(<em>int</em> argc, char **argv)rnrn glutInit(&argc, argv);rn glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);rn glutInitWindowSize(640, 480);rn glutInitWindowPosition(100, 100);rn glutCreateWindow("Transformation testbed - wire frames");rn glutDisplayFunc(displayWire);rn glutKeyboardFunc(myKeyboard);rn glutMouseFunc(myMouse);rn glClearColor(1.0f, 1.0f, 1.0f, 0.0f); //背景为白色rn glViewport(0, 0, 640, 480);rn glutMainLoop();rn
void ( *signal( int sig, void (__cdecl *func) ( int sig [, int subcode ] )) ) ( int sig );
<em>void</em> ( *signal( <em>int</em> sig, <em>void</em> (__cdecl *func) ( <em>int</em> sig [, <em>int</em> subcode ] )) ) ( <em>int</em> sig );rnrn上面这一句,怎么理解它
cannot convert parameter 1 from 'void (int,int)' to 'void (__cdecl *)(int,int)'?
我想写个OpenGL的绘制直线程序,但出了这样的错误不知怎么修改?rn错误提示:rnCompiling...rnMyOpenGL.cpprnC:\Documents and Settings\Administrator\桌面\mycom-2010_8_10\MyOpenGL.cpp(42) : error C2664: 'glutReshapeFunc' : cannot convert parameter 1 from '<em>void</em> (<em>int</em>,<em>int</em>)' to '<em>void</em> (__cdecl *)(<em>int</em>,<em>int</em>)'rn None of the functions with this name in scope match the target typernC:\Documents and Settings\Administrator\桌面\mycom-2010_8_10\MyOpenGL.cpp(43) : error C2664: 'glutSpecialFunc' : cannot convert parameter 1 from '<em>void</em> (unsigned char,<em>int</em>,<em>int</em>)' to '<em>void</em> (__cdecl *)(<em>int</em>,<em>int</em>,<em>int</em>)'rn None of the functions with this name in scope match the target typernC:\Documents and Settings\Administrator\桌面\mycom-2010_8_10\MyOpenGL.cpp(44) : error C2664: 'glutDisplayFunc' : cannot convert parameter 1 from '<em>void</em> (<em>void</em>)' to '<em>void</em> (__cdecl *)(<em>void</em>)'rn None of the functions with this name in scope match the target typernrn附程序:rn#include rn#include rn#include rn#include rn#include rn#include "stdafx.h"rn#include "MyOpenGL.h"rnrn//using namespace std;rnMyOpenGl myog;rn// Define a constant for the value of PIrn#define GL_PI 3.1415frnrn// Rotation amountsrnstatic GLfloat xRot = 0.0f;rnstatic GLfloat yRot = 0.0f;rnGLfloat lightPos[] = 0.0f, 0.0f, 0.0f, 1.0f ;rnstatic float fEarthRot = 0.0f;rnrnMyOpenGl::MyOpenGl()rnrn hangxiangangle=0.0f;rnrnMyOpenGl::~MyOpenGl()rnrnrnrnrnrnrn<em>int</em> MyOpenGl::start()rn rn <em>int</em> argc = 1;rn char *argv[] = "OpenGL Application";rnrn glutInit(&argc, argv);rn glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);rn glutCreateWindow("三维数字罗盘");rn ///////////////////////////////////////////////////rn rn ////////////////////////////////////////////////////rn glutReshapeFunc(ChangeSize);//////////////////////////////////错误处rn glutSpecialFunc(SpecialKeys);//////////////////////////////////错误处rn glutDisplayFunc(RenderScene);//////////////////////////////////错误处rn SetupRC();rn glutMainLoop();rnrn return 0;rn rnrnrnrnrnrnrnrnrnrnrn<em>void</em> MyOpenGl::RenderScene()rnrnGLfloat x,y,z,angle; // Storeage for coordinates and anglesrnrn // Clear the window with current clearing colorrn glClear(GL_COLOR_BUFFER_BIT);rn glMatrixMode(GL_MODELVIEW);rn // Save matrix state and do the rotationrn glPushMatrix();rn glRotatef(xRot, 1.0f, 0.0f, 0.0f);rn glRotatef(yRot, 0.0f, 1.0f, 0.0f);rnrn // Call only once for all remaining po<em>int</em>srn glBegin(GL_LINES);rn z = 0.0f;rn for(angle = 0.0f; angle 356.0f)rn xRot = 0.0f;rnrn if(key < -1.0f)rn xRot = 355.0f;rnrn if(key > 356.0f)rn yRot = 0.0f;rnrn if(key < -1.0f)rn yRot = 355.0f;rnrn // Refresh the Windowrn glutPostRedisplay();rnrnrn<em>void</em> MyOpenGl::ChangeSize(<em>int</em> w, <em>int</em> h)rnrnGLfloat nRange = 50.0f;rnrn // Prevent a divide by zerorn if(h == 0)rn h = 1;rnrn // Set Viewport to window dimensionsrn glViewport(0, 0, w, h);rnrn // Reset coordinate systemrn glMatrixMode(GL_PROJECTION);rn glLoadIdentity();rnrn // Establish clipping volume (left, right, bottom, top, near, far)rn if (w <= h) rn glOrtho (-nRange, nRange, -nRange*h/w, nRange*h/w, -nRange, nRange);rn else rn glOrtho (-nRange*w/h, nRange*w/h, -nRange, nRange, -nRange, nRange);rnrn glMatrixMode(GL_MODELVIEW);rn glLoadIdentity();rnrn
void*与int互转
互转:<em>int</em> i=0,j=0;const <em>void</em> *p=&amp;amp;j;<em>int</em> i=*(<em>int</em>*)p; //先转为<em>int</em>型指针再取值。i=1<em>void</em> * 转 <em>int</em>将 pv 转换为 <em>int</em> 的指针 pi:pi = (<em>int</em> *)pv;解引用 pi 给 k 赋值。k = *pi;直接将指针转换后解引用,上面两步合一:k = *((<em>int</em> *)pv);上面的代码运行一次还可以,但是我在一个程序中需要反...
我想要在OnSize消息处理函数中,重新计算cxcy的值,让我的窗口和新的cx,cy值一样大?
我想要在OnSize消息处理函数中,重新计算<em>cx</em>和<em>cy</em>的值,让我的窗口和新的<em>cx</em>,<em>cy</em>值一样大? 也就是说,假设窗口原来<em>cx</em>,<em>cy</em>大小是100,100,(在OnSize中得到) 我想在OnSize中设
对话框的OnSize()和OnWindowPosChanged()的理解
最近的项目是一个对话框的项目,之前没有做过这种项目,
为什么在重写的onsize函数里面都会首先调用基类的CDialog::Onsize
为什么在重写的<em>onsize</em>函数里面都会首先调用基类的CDialog::Onsize,而且我看有的重写<em>onsize</em>接口中,只调用了CDialog::Onsize,而没有做其他操作,既然这样,为什么要重写
C++创建控件并响应三部曲、设置窗口全屏、OnSize实现控件大小改变、跟踪调试顺序
一、创建控件并响应事件三步曲:添加成员变量,变量类型为所创建控件的类型,如CButton 1.手动添加 afx_msg <em>void</em> OnmyButton();   2.手动添加实现函数;   3.关联:MESSAGE_MAP:ON_BN_CLICKED(IDC_MYBUTTON,OnmyButton)。 二、VC设置窗口全屏显示的方法:通过设置窗口显示状态和窗口位置来使窗口全屏。 在窗
MFC 的onsize函数不响应
在做一个简易total commander的时候,建立了两个FormView各占一边,分别在这两个视图类上放置了ListCtrl空间,然后用OnSize函数调整控件的显示,使控件可以占满视图,这是两个
int main(void)
在主函数里,返回值是返回用来做什么的呢?rn具体的作用是?rn可以举例吗?
void main() 和 int main()
为什么我们学的是<em>void</em> main()的呢?我是北邮的,用的人民邮电出版社的书rn不过看网络上的都用 <em>int</em> main()rn<em>int</em> main()rn里面好像还可以设参数rn而且还要return 0;rn这个0 是什么意思?rn我知道<em>int</em> 型函数要return rnreturn 0是什么???rn迷茫..
int fork(void)
回答精辟者 我会请他领分,驷马难追rnrn<em>int</em> fork(<em>void</em>)rn<em>int</em> vfork(<em>void</em>)rn<em>int</em> pipe(<em>int</em>)rnsleep(..)rn求例子
void loadimage(IMAGE *,LPCTSTR,int,int,bool)
请问LPCTSTR 是什么意思???rn应该写什么rn在VS2008中 安装EASYX
void Table(int k,int **a)传值
如题;rnrn<em>void</em> Table(<em>int</em> k,<em>int</em> **a)rn}rnrn<em>void</em> main()rn <em>int</em> a[10][10];rn Table(10,?); //请问如何给这个二维数组传过去rn
CWnd::OnSize
在窗口的大小更改后,框架调用该成员函数。 afx_msg <em>void</em> OnSize( UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em> ); 参数 nType 指定请求的调整大小的类型。 此参数可以是下列值之一: SIZE_MAXIMIZED 窗口最大化。 SIZE_MINIMIZED 窗口最小化。
OnSize 改变控件的大小
重载 OnSize 函数   声明: afx_msg <em>void</em> OnSize(UINT nType,  <em>int</em>  <em>cx</em>,  <em>int</em>  <em>cy</em>); // 调整控件大小     // 调整控件大小   <em>void</em> CZTCServerDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>)  {    CDialogEx::OnSize
MFC——void OnSize(UINT nType, int cx, int cy)
BEGIN_MESSAGE_MAP(CLibraryDlg, CDialogEx)     ON_WM_SIZE() END_MESSAGE_MAP() <em>void</em> CLibraryDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) { if (!m_pTabCtrl) m_pTabCtrl = (CTabCtrl *)GetDlgItem(IDC_T
int main和int main(void)区别
在c++中<em>int</em> main()和<em>int</em> main(<em>void</em>)是等效的,但在c中让括号空着代表编译器对是否接受参数保持沉默。在c语言中main()省略返回类型也就相当说明返回类型为<em>int</em>型,不过这种用法在c++中逐渐被淘汰。虽然Void main()在很多系统都适用,但他毕竟不是标准的,所以应该避免这种用法
void pick(int n,vector&picked,int toPick)
<em>void</em> pick(<em>int</em> n,vector&picked,<em>int</em> toPick)中 vector&picked什么意思?
void create(int*&f,int n)
<em>void</em> create(<em>int</em>*&f,<em>int</em> n)rnrn.........rnrn我想问问上面这个函数中的"<em>int</em>*&f"表示什么意思呢?rn请高手指点
void g(int* &i)
<em>void</em> g(<em>int</em>* &i)rnrn i++;rnrn上面这个函数我想通过引用来返回一个指针rn下面是他的调用方式rn<em>int</em> i=1;rn<em>int</em>* p=&i;rng(p);rnp的指针是否发生变化
强制类型转换(void*)(int*)吗?
强制类型转换(<em>void</em>*)(<em>int</em>*)吗?rn//强制类型转换。rn#include rn<em>int</em> main()rnrn using namespace std;rn char buffer[512];rnrn cout << "Buffer addresses: \nconvert to (<em>void</em>*): ";rn cout << (<em>void</em>*)buffer << ", convert to (<em>int</em>*): ";rn cout << (<em>int</em>*)buffer << endl;rnrn system("pause");rn return 0;rnrn
C++ MFC控件随着窗口大小变化而自适应
<em>void</em> CMFCcodeDlg::OnSize(UINT nType, <em>int</em> <em>cx</em>, <em>int</em> <em>cy</em>) { CDialogEx::OnSize(nType, <em>cx</em>, <em>cy</em>); CRect rect; pWndT->GetWindowRect(&rect); ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标 //<em>cx</em>/m_rect.Width()为对
学习笔记 -- 使用WMI获得系统信息
学习笔记 -- <em>使用</em>WMI获得系统信息WMI是Windows 2K/XP管理系统的核心。WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object Manager),是一个描述操作系统构成单元的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。有了WMI,工具软件和脚本程序访问操作系统的不同部分时不需要<em>使用</em>
控件大小随窗口变化的方法(MFC)
VC++之根据对话框大小调整控件大小 1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小; 2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:GetClientRect(&m_rect); 3、在WM_SIZE的响应函数OnSize()中加入以下代码: CWnd *pWnd;  pWnd = GetDlgItem(IDC_LIST)
CMainFrame::OnSize//处理的切分后窗口大小//三句代码在OnCreate函数没问题,放在OnSize函数里就出问题了
<em>void</em> CSplitterWnd::SetColumnInfo(<em>int</em> col, <em>int</em> <em>cx</em>Ideal, <em>int</em> <em>cx</em>Min) { ASSERT_VALID(this); ASSERT(col
CMainFrame控制窗体最大最小尺寸
<em>void</em> CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // TODO: Add your message handler code here and/or call default lpMMI->ptMaxTrackSize.x=GetSystemMetrics (SM_CXSCREEN)*2/3;//最大为满屏幕的2/3  lpM
void (*a)(int);
<em>void</em> (*a)(<em>int</em>)rn这语句是什么意思,a是个什么类型啊rnr<em>ntype</em>def bool (*Comp)(const Sales_item&,const Sales_item&);rn这一句中的Comp代表什么呢
void *和int相互转换问题
pthread_create()中<em>void</em> *和<em>int</em>可以相互转换吗?rn求解答
void * 与int *转换问题
_beg<em>int</em>hreadex(NULL, 0, DisposeSoftData, &nMachineID, 0, NULL);rnrnunsigned __stdcall DisposeSoftData( <em>void</em>* pArguments )rnrn<em>int</em> *nMachineID = (<em>int</em>*)pArguments;rnrnrn怎么得到的nMachineID 是错误的呢?
int main 与 void main??
最近看一些国外教材,如accelerated C++;rn里边所写程序如:头文件 #include rn 输入输出: std::coutrn 主函数: <em>int</em> main()rnrn国内教材好多为:头文件 #include rn 输入输出: coutrn 主函数: <em>void</em> main()rnrn本人知道实现的功能一样rn但有何区别到底呢??
Struts2 图片验证码下载
Struts2 图片验证码,用户注册等使用 相关下载链接:[url=//download.csdn.net/download/weiqingli190949353/1960942?utm_source=bbsseo]//download.csdn.net/download/weiqingli190949353/1960942?utm_source=bbsseo[/url]
Haier简爱7G XP系统的网卡驱动下载
我试过了,,绝对是XP系统的驱动,网上实在是很难找呀! 相关下载链接:[url=//download.csdn.net/download/huang6740154/3745695?utm_source=bbsseo]//download.csdn.net/download/huang6740154/3745695?utm_source=bbsseo[/url]
java编写的迷宫游戏支持自定义迷宫下载
java编写的迷宫游戏 支持自定义迷宫 趣味无穷 相关下载链接:[url=//download.csdn.net/download/wewewetxp/3808592?utm_source=bbsseo]//download.csdn.net/download/wewewetxp/3808592?utm_source=bbsseo[/url]
我们是很有底线的