1,最近在看《windows程序设计》的时候发现作者把很多在winmain和winproc中变量定义成了static型的 例如:static char szAppName;  我不理解作者为什么要这样做?? 2,请问WM——DRAWITEM是由什么事件引发的消息??3,selectobject函数是做什么用的??4,‘\n'和'\r'有什么区别?? 5,用registerclass函数注册窗口类的时候发生了什么?? 系统是怎么处理的??6,什么样的资源要用dc来访问 什么样的类型用指针就行了??7,什么是离散和离散关系?? 能不能给俺举个例子??8,为什么在一个消息中的hdc不能在另一个消息中用??谢谢

解决方案 »

  1.   

    1:看CPP静态变量
    2:重载DRAWITME引发
    3:选GDI对象用的
    4:前者换行后者回车
    5:确定窗口的等等信息,系统先注册窗口类里读出窗口信息,然后指定proc,然后再创建窗口
    6:GDI对象要用DC还有打印等等,如果你传进去的DC是指针你用就可以了,GetDC反回也是指针,你也可以自己声明然后使用
    7:我也不知道,也不能举例子
    8:不为什么!
      

  2.   

    1. 在多次调用的函数里 如果这样定义 int a=0; a=5; 每次进去 a值都是0;如果这样定义 static int a=0; a=5; 那么下次进去 a值就是5;4. '\n'是换行, '\r'是回车;
    在UNIX里    printf("abcd\nef");结果是:
    abcd
        ef在UNIX里    printf("abcd\ref");结果是:
    efcd在UNIX里    printf("abcd\r\nef");结果是:
    abcd
    ef    
      

  3.   

    1。 为了程序的模块化。在函数中定义的static变量,只有该函数有它的访问权限。在文件中定义的,只有在该文件中才可以访问。这样就增加了模块化了程序。
    4。 '\n' 的意思是 next line, 下一行。
        '\r' 的意思是 return, 返回。
      

  4.   

    我也才看了<windows程序设计>一个月不到,其他的我都摸棱两可的,第三个我知道,它是把一个新定义的属性选进设备描述表的!