VC++如何获取当前坐标点的像素值

VC++如何获取当前坐标点的像素值,第1张

GetPixel函数可以得到指定坐标点的像素值。

函数功能:该函数检索指定坐标点的像素的RGB颜色值。

函数原型:COLORREF GetPixel(HDC hdc, int nXPos, int nYPos)

参数

hdc:设备环境句柄。

nXPos:指定要检查的像素点的逻辑X轴坐标。

nYPos:指定要检查的像素点的逻辑Y轴坐标。

返回值:返回值是该象像点的RGB值。如果指定的像素点在当前剪辑区之外;那么返回值是CLR_INVALID。

GetCursorPos函数可以得到当前鼠标的坐标点。

函数功能:该函数检取光标的位置,以屏幕坐标表示。

函数原型:BOOL GetCursorPos(LPPOINT lpPoint)。

参数

IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。

可以改变自已程序的界面,将每个控件的位置都计算出来

看下面这个例子,在窗口大小改变时,窗口里的控件也跟着调整位置

void CEmail::OnSize(UINT nType, int cx, int cy)

{

CFormView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here

if(nType==SIZE_RESTORED && cx>=522 && cy>=386)

{

CWnd pwnd;

CRect rect;

pwnd=(CWnd )GetDlgItem(IDC_COMBO_CATALOG);

if(pwnd==NULL)return;

pwnd->GetWindowRect(&rect);

ScreenToClient(&rect);

rectright=cx-15;

rectleft=rectright - 90;

pwnd->MoveWindow(&rect,TRUE);

pwnd=(CWnd )GetDlgItem(IDC_LIST);

if(pwnd==NULL)return;

pwnd->GetWindowRect(&rect);

ScreenToClient(&rect);

rectright=cx-10;

rectbottom=recttop+cy/3+20;

pwnd->MoveWindow(&rect,TRUE);

((CListCtrl )pwnd)->SetColumnWidth(1, rectWidth()-274);

pwnd=(CWnd )GetDlgItem(IDC_RICHEDIT);

if(pwnd==NULL)return;

recttop=rectbottom+5;

rectbottom=cy-10;

pwnd->MoveWindow(&rect,TRUE);

}

}

显示器的物理分辨率,液晶的都是固定的,CRT的可以调整。

显卡与显示器的匹配,是 *** 作系统中的显示设置自动侦测的,你也可以个性化自己的显示设置,根据自己宣视器的尺寸大小更改分辨率。

在某一种分辨率下窗口窗口的长宽比例应该是知道的。比如在1024768分辨率下,窗口的宽高如果是ab,则窗口宽高(用x,y表示)与分辨率的关系应该是:x=::GetSystemMetricsSM_CXSCREEN)a/1024,y=::GetSystemMetrics(SM_CYSCREEN)b/768,至于窗口的位置,其实也就是一个数学计算问题。计算的窗口的初始位置后,根据新的位置和长宽定义一个并初始化一个CRect变量,调用MoveWindow函数进行调整窗口即可。

使用Win32 API实现

1在创建窗口时全屏

hWnd = CreateWindow( TEXT ("Class"),TEXT ("Title"), WS_POPUP,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),NULL,NULL,hInstance,NULL);

2在事件回调中全屏

SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);

以上就是关于VC++如何获取当前坐标点的像素值全部的内容,包括:VC++如何获取当前坐标点的像素值、如何让vc程序自动适应屏幕分辨率大小、如何获取物理分辨率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9736397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存