我用VC开发一个程序,在本机上程序界面都是好的,可是一到其它机器上就不对了,界面布局就乱了,请问大家这是为什么?大家快帮帮忙,急!

解决方案 »

  1.   

    HDC       hScrDC;     
     // 屏幕和内存设备描述表
     int       xScrn, yScrn;        
     // 屏幕分辨率
     
     //为屏幕创建设备描述表
     hScrDC = CreateDC("DISPLAY", NULL, NULL, NULL);
     // 获得当前屏幕分辨率
     xScrn = GetDeviceCaps(hScrDC, HORZRES);
     yScrn = GetDeviceCaps(hScrDC, VERTRES);
     DeleteDC(hScrDC);
     CString str;
     str.Format("X=%d\n Y=%d",xScrn,yScrn);
     MessageBox(str,"当前屏幕分辨率",MB_OK);
    //设置分辨率 
     
     DEVMODE DevMode;
     DevMode.dmBitsPerPel=16;
     DevMode.dmPelsWidth=1024 ;       //水平分辨率
     DevMode.dmPelsHeight=768;      //垂直分辨率
     DevMode.dmDisplayFrequency=85;
     DevMode.dmSize=sizeof(DevMode);
     DevMode.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT|DM_BITSPERPEL|DM_DISPLAYFREQUENCY;
     long result;
     result=ChangeDisplaySettingsEx(NULL,&DevMode,NULL,0,NULL);
     CString str1;
     str1.Format("X=%d\n Y=%d",DevMode.dmPelsWidth,DevMode.dmPelsHeight);
     MessageBox(str1,"当前屏幕分辨率",MB_OK);
      

  2.   

    1)启动程序
    2)得到当前系统的分辨率设置,保存oldset;
    3)设置系统的分辨率到目标设置newSET;
    4)程序关闭ON_CLOSE中消息中,恢复OLDSET
      

  3.   

    http://support.microsoft.com/kb/q145994/
    http://support.microsoft.com/kb/125681/en-us
      

  4.   

    看一下对话框的Language选项和字体选项.