本文目录一览:
- 1、急!windows,VC++6.0 只用c语言知识如何获取鼠标点击位置的坐标(对于运行窗口而言)!
- 2、c#窗体程序设计中clientsize怎样使用
- 3、Windows编程中如何获取Windows桌面快捷方式的坐标和大小?
- 4、C#怎么给窗体设置初始位置
- 5、C++语言 windows编程:关于鼠标坐标与屏幕如何对应起来的问题。
- 6、如何获得窗口位置VC
急!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是将窗口坐标转换为屏幕坐标