1.CF无法全屏今天赶时髦把系统升到WIN10了 然后CF进去就不能 爱问
打开“注册表编辑器”有两种方法:1、点击“开始”在“搜索程序和文件”那里输入“regedit”回车。
2?2、按Win R键(win键盘即为带有windows标志的那个键)弹出"运行"对话框,输入“regedit”回车。3?通过上边两种方法就可一打开“注册表编辑器”,END 二、修改缩放值按如下目录展开“注册表编辑器”左边的目录:“计算机HKEY_LOCAL_"(目录大概可以翻译为:计算机本地机器系统当前的控制设定控制显卡驱动配置)。
找到“Configuration”这一项右击“Configuration”,然后点击查找。?输入“scaling”点击“查找下一个”。
找到“scaling”并双击打开。?将“数值数据”改为“3”,点击“确定”就可以了。
至此修改就完成了。
2.为什么用Windows10的时候玩穿越火线出现窗口化模式怎么调全屏.我
具体方法 1、安装好驱动后打开英特尔显卡控制中心,进入显示器; 2、分辨率改成1024X768, 点击下面的保存配置式,起个名字叫CF; 3、返回到上级菜单,进入“配置式”,左上角选择刚才的CF配置,选择触发器选择“应用程序”,点击右下角的浏览; 4、找到穿越火线的主程序“crossfire.exe”,点打开; 5、这时,可以看到应用程序中的“Client MFC Application”,即穿越火线的程序名被选中,点击下面的“保存”和“应用”,然后退出; 6、这时打开的穿越火线,看看分辨率是不是已经自动调整为全屏了。
Win10系统让穿越火线自动全屏的技巧了,这样就不用每次打开穿越火线就要去调一次全屏,省了很多的麻烦。
3.建立一个MFC对话框程序,运行时使对话框最大化显示(即全屏显示)
testDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
static RECT LastWindowRect = ;//用来保存窗口上一次的大小
CWnd *hWin;//构造一个句柄
int ux = cx - LastWindowRect.right;
//求出窗口的水平变化量
int uy = cy - LastWindowRect.bottom;
//求出窗口的竖直变化量
if((hWin = GetDlgItem(IDC_PPP)) != NULL) //IDC_LIST1为控件的ID号
{
RECT rect;
hWin->GetWindowRect(&rect);//获得控件的大小
ScreenToClient(&rect);//设备到客户
rect.right += ux;//
rect.bottom += uy;
hWin->MoveWindow(&rect);//改变控件大小
}
LastWindowRect.right = cx;
LastWindowRect.bottom = cy;
}
另外,站长团上有产品团购,便宜有保证
4.怎么在MFC下实现DX的全屏显示
所谓全屏,实际上是把窗变大,让窗框跑到屏幕以外。
窗的原点不在 [0,0], 而在 [-d, -d], d 为 窗框 边的宽度,窗的对角点在 [w+d,h+d]。w -- 屏幕宽度,h -- 屏幕高度, 或者说,画一个既无菜单,又无框的窗。
MFC 用
CMainFrame * pFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);
pFrame->ShowWindow(SW_MAXIMIZE); 就可实现。
恢复正常大小用:
pFrame->ShowWindow(SW_SHOWNORMAL);
-------------------------------------
Direct3D:
全屏:
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Windowed = FALSE;
// 自己定桌面宽度或用 GetSystemMetrics(SM_CXSCREEN) 获得 桌面宽度
d3dpp.BackBufferWidth = 800;
//自己定桌面高度或用 GetSystemMetrics(SM_CYSCREEN) 获得 桌面高度
d3dpp.BackBufferHeight= 600;
// 如果你的图卡支持,你可以定义更好的格式:
d3dpp.BackBufferFormat = D3DFMT_R5G6B5;
// 然后用 d3dpp 建 device
-----------------
Direct3D:
非全屏:
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.Windowed = TRUE;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
// 然后用 d3dpp 建 device
5.用MFC怎么创建一个全屏窗口
全屏显示是一些应用软件程序必不可少的功能。
比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“ViewFull Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态。 在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架。
下面将先讨论点击菜单项“ViewFull Screen”实现全屏显示的方法,再讲述按“Esc”键后如何退出全屏显示状态。 1) 在CMainFrame类中,增加如下三个成员变量。
Class CMainFrame : public CFrameWnd { private: //自己添加的三个成员变量 WINDOWPLACEMENT m_OldWndPlacement; //用来保存原窗口位置 BOOL m_bFullScreen; //全屏显示标志 Crect m_FullScreenRect; //表示全屏显示时的窗口位置 protected: CMainFrame(); DECLARE_DYNCREATE(CMainFrame)} 2)在资源编辑器中编辑菜单IDR_MAINFRAME。在“View”菜单栏下添加菜单项“Full Screen”。
在其属性框中,ID设置为ID_FULL_SCREEN,Caption为“Full Screen”。还可以在工具栏中添加新的工具图标,并使之与菜单项“Full Screen”相关联,即将其ID值也设置为ID_FULL_SCREEN。
3)设计全屏显示处理函数,在CMainFrame类增加上述菜单项ID_FULL_SCREEN消息的响应函数。响应函数如下: void CMainFrame::OnFullScreen() { GetWindowPlacement(&m_OldWndPlacement); Crect WindowRect; GetWindowRect(&WindowRect); Crect ClientRect; RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &ClientRect); ClientToScreen(&ClientRect); // 获取屏幕的分辨率 int nFullWidth=GetSystemMetrics(SM_CXSCREEN); int nFullHeight=GetSystemMetrics(SM_CYSCREEN); //将除控制条外的客户区全屏显示到从(0,0)到(nFullWidth, nFullHeight)区域, //将(0,0)和(nFullWidth, nFullHeight)两个点外扩充原窗口和除控制条之外的 客户区位置间的差值, 就得到全屏显示的窗口位置 m_FullScreenRect.left = WindowRect.left-ClientRect.left; m_FullScreenRect.top = WindowRect.top-ClientRect.top; m_FullScreenRect.right = WindowRect.right-ClientRect.right+nFullWidth; m_FullScreenRect.bottom = WindowRect.bottom-ClientRect.bottom+nFullHeight; m_bFullScreen = TRUE; // 设置全屏显示标志为 TRUE // 进入全屏显示状态 WINDOWPLACEMENT wndpl; wndpl.length=sizeof(WINDOWPLACEMENT); wndpl.flags=0; wndpl.showCmd=SW_SHOWNORMAL; wndpl.rcNormalPosition=m_FullScreenRect; SetWindowPlacement(&wndpl);} 4)重载CMainFrame类的OnGetMinM。
6.MFC界面怎么根据桌面分辨率自动全屏设置
MSDN上有一个方法,可以取得这些信息。具体如下:
这是MFC中的调用方式:
HDC hdc=GetDC(NULL); //获得屏幕设备描述表句柄
int ScrWidth=GetDeviceCaps(hdc,HORZRES); //获取屏幕水平分辨率
int ScrHeight=GetDeviceCaps(hdc,VERTRES); //获取屏幕垂直分辨率
ReleaseDC(NULL,hdc); //释放屏幕设备描述表
接下来就不用我说了吧,取得,设置,变化时再取得在设置。
转载请注明出处windows之家 » win10下mfc程序全屏显示