×

windows窗体坐标

windows窗体坐标(windows窗口坐标)

admin admin 发表于2023-03-12 07:46:14 浏览42 评论0

抢沙发发表评论

本文目录一览:

急!windows,VC++6.0 只用c语言知识如何获取鼠标点击位置的坐标(对于运行窗口而言)!

第八行scanf("%f,%f,%f“,a,b,c);错打了一个全角的“,应该改为半角的"第十一行和十四行2a两个字符应该改为(2*a)中间加乘号,两边加括号第九行的报错可能是受第八行的错误影响的if(m=0)行浮点数无法这么精确判断是否等于0,可改为if(fabs(m)#includeintdt(float);voidmain(){floata,b,c,d;printf("输入a,b,c的值:\n");scanf("%f,%f,%f",a,b,c);d=b*b-4*a*c;if(dt(d)==0)printf("x1=%f,x2=%f\n",(b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));elseif(dt(d)==1)printf("x=%f\n",-b/(2*a));elseif(dt(d)==2)printf("此方程无解!\n");}intdt(floatm){if(m0)return0;elseif(fabs(m)0.0001)return1;elseif(m0)return2;}

c#窗体程序设计中clientsize怎样使用

一:.NET中窗体应用程序就是一种GUI程序

窗体创建的两种方式:

(1)自动生成的是:

[csharp] view plain copy print?

Application.Run(new Form1());

相当于:

[csharp] view plain copy print?

Form1 f = new Form1();

Application.Run(f);

(2)显示新的窗体

[csharp] view plain copy print?

Form2 f = new Form2( );

f.Show();

二;事件

Windows 系统中处处是事件:

鼠标按下

鼠标释放

键盘键按下……

Windows 通过随时响应用户触发的事件做出相应的响应——事件驱动机制

WinForms 应用程序也是事件驱动的

开发人员针对感兴趣的事件,编写相应的事件处理程序

编写事件处理程序::::

1、选中控件

2、在“属性”窗口中单击“闪电”图标

3、找到要处理的事件

4、生成事件处理方法

5、编写处理代码

例:随鼠标移动,显示鼠标当前坐标

点击选中窗体

属性窗体中找到MouseMove事件

双击事件生成事件处理程序框架

编写代码

[csharp] view plain copy print?

private void Form1_MouseMove(object sender, MouseEventArgs e)

{

this.Text = string.Format("鼠标位置({0},{1})", e.X, e.Y);

}

运行图;

常用窗体事件

Load :窗体加载事件(即将显示尚未显示),常用作初始化功能

Click事件:鼠标单击事件

DoubleClick事件:鼠标双击事件

MouseMove :鼠标移动事件

KeyDown :键盘按下事件

KeyUp :键盘释放事件

小例子:单击窗体计1分,双击窗体计10分,编写程序,随时显示得分总数。

定义变量n存储分数,初值为0

单击事件click中n+1,并刷新

双击事件DoubleClick中n+10,并刷新

在窗体上设置单击

[csharp] view plain copy print?

private void Form1_MouseClick(object sender, MouseEventArgs e)

{

n += 1;

string s = string.Format("得分{0}", n);

this.Text = s;

}

运行如下:

双击如下;

[csharp] view plain copy print?

private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)

{

n += 10;

string s = string.Format("得分{0}", n);

this.Text = s;

}

运行图;

这个还有点缺陷,双击本该是23,但却成啦24,双击时记上的单击的那下

(2)菜单控件

创建菜单的步骤:

1、切换设计器

2、工具箱→所有 Windows 窗体

3、向窗体添加 MenuStrip 控件

4、设置菜单的属性和事件

设计学生管理菜单,注意菜单分隔条的设计

实现“退出”功能

关闭窗体,调用窗体类的Close方法

关闭当前窗体 this.Close( );

[csharp] view plain copy print?

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Close();

}

Windows编程中如何获取Windows桌面快捷方式的坐标和大小?

DWORD dwProcessId;

HWND hDeskTop;

hDeskTop = ::FindWindow( "progman", NULL );

hDeskTop = ::FindWindowEx( hDeskTop, 0, "shelldll_defview", NULL );

hDeskTop = ::FindWindowEx( hDeskTop, 0, "syslistview32", NULL ); //获取桌面窗口句柄;

GetWindowThreadProcessId(hDeskTop, dwProcessId);//通过桌面窗口句柄获取此窗口所在进程的PID,其实就是explorer进程

HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessId);//打开指定PID进程,取得进程句柄 -windows窗体坐标

LPVOID lpvPt = VirtualAllocEx(hProcess,NULL,sizeof(POINT),MEM_COMMIT,PAGE_READWRITE);//在指定进程里面申请一个POINI结构大小的空间.-windows窗体坐标

POINT pt;

ListView_GetItemPosition(hDeskTop,1,lpvPt);//获取第一个图标的坐标,存入lpvPt

ReadProcessMemory(hProcess,lpvPt,pt,sizeof(POINT),NULL);

//lpvPt不是本进程里面的,不能使用,所以就要

利用ReadProcessMemory从指定进程给读出来

VirtualFreeEx(hProcess, lpvPt, 0, MEM_RELEASE);

释放申请的空间

CloseHandle(hProcess);//关闭句柄

最后得出的pt就是你要的哪个坐标,这个是求第一个图标的坐标

ListView_GetItemPosition(hDeskTop,1,lpvPt);

想改求其他的,把1换成你要的哪个就可以了

我还有个获取桌面所有图标名称的程序,要的话把邮箱留下原理和实现过程全部有解释

C#怎么给窗体设置初始位置

C#窗体的位置是通过设置StartPosition来控制的。

1:当StartPosition的取值为Manual,根据自定义位置显示初始位置

利用窗体的Top和Left属性设置

2:当StartPosition的取值为CenterScreen,在屏幕中央显示初始位置

3:当StartPosition的取值为WindowsDefaultLocation,Windows默认位置,但大小由属性决定

4:当StartPosition的取值为CenterParent,在父窗口的中央显示初始位置

C++语言 windows编程:关于鼠标坐标与屏幕如何对应起来的问题。

SelectObject函数。

这个函数的是返回对象的设备上下文句柄(条件是:由先前创建的区域、位图、画笔、字体、 笔),如果选择对象不是区域并且函数执行成功,那么返回值是被取代的对象的句柄(也就是说此句柄可以直接操作,进行绘图);-windows窗体坐标

另外一个函数是GetStockObject。

这个是获得常备对象,通过传递不同参数,可以获得笔,画刷,等对象。

本程序中用得到是(BLACK_PEN:黑色钢笔)和(WHITE_PEN:白色钢笔),跟据tile[j][i].bOpen的值来选择。

由上面的操作后,得到可绘制的句柄,

然后画出白色边框和黑色的底纹,根据i,j计算出坐标。以显示3D立体感(凹进、凸出),。

前面的一段MoveToEx、LineTo绘白色,后一段经SelectObject后MoveToEx、LineTo绘黑色。

或是前一段绘黑色,后一段绘白色。由tile[j][i].bOpen切换。

最后绘制出来的小方格,就体现在鼠标点击后所呈现的效果了。

解释:

【设备上下文】是一种包含有关某个设备(如显示器或打印机)的绘制属性信息的 Windows 数据结构。所有绘制调用都通过设备上下文对象进行,这些对象封装了用于绘制线条、形状和文本的 Windows API。-windows窗体坐标

如何获得窗口位置VC

GetWindowsRect获取的是窗口矩形范围,其中RECT的left和top就是窗口左上角的坐标,也就是你所说的窗口位置

GetWindowsRect返回的是屏幕坐标

楼上的应该是ScreenToClient,将屏幕坐标转换为窗口坐标

ClientToScreen是将窗口坐标转换为屏幕坐标