窗体

C#无边框窗体移动

混江龙づ霸主 提交于 2019-12-10 17:57:21
拖动无边框窗体 相信大家都有遇到过这个问题,将winform窗体BorderStyle设置为None时,窗体是无法移动的,解决这个问题可以参考下面代码; 首先建立一个Win32类文件 命名空间引用如下: using System . Runtime . InteropServices ; 在类的内部定义如下代码,用来记录Windows消息类型及附加消息: public const int WM_SYSCOMMAND = 0x0112 ; //该变量表示将向Windows发送的消息类型 public const int SC_MOVE = 0xF010 ; //该变量表示发送消息的附加消息 public const int HTCAPTION = 0x0002 ; //该变量表示发送消息的附件消息 在类的内部导入windows系统API函数ReleaseCapture,用来释放被当前线程中某个窗口捕获的光标: //用来释放当前被线程中某个窗口捕获的光标 [ DllImport ( "user32.dll" ) ] public static extern bool ReleaseCapture ( ) ; 在类的内部导入windows系统API函数SendMessage,用来向指定的窗体发生windows消息: //向指定窗体发生windows消息 [ DllImport (

C#界面设计相关设置

不问归期 提交于 2019-12-10 17:47:45
1.Anchor属性设置 对需要设置的控件,如主窗体中的TextBox,设置Anchor为上下左右都停靠,就会实现随着窗体的变化而变化。 2.AutoScaleMode属性的用法:《转自: https://www.cnblogs.com/lmcblog/archive/2012/07/19/2599316.html 》 ① None : 禁用自动缩放。(默认时) ② Font :根据类使用的字体(通常为系统字体)的维度控制缩放。 如果希望控件或窗体根据操作系统中字体的大小进行拉伸或缩小,则按 Font 缩放十分有用,如果控件或窗体的绝对大小无关紧要,则应使用这种方式进行缩放。 ③ Dpi : 根据显示分辨率控制缩放。常用分辨率为 96 和 120 DPI。 如果要相对于屏幕确定控件或窗体的大小,则按 Dpi 缩放十分有用。例如,对于显示图表或其他图形的控件,可能希望使用每英寸点数 (DPI) 缩放,以便该控件始终占据一定百分比的屏幕 ④ Inherit : 根据类的父类的缩放模式控制缩放。如果不存在父类,则禁用自动缩放。 3.AutoSizeMode属性 它也有两个值:GrowOnly 和GrowAndShrik ①、如果设为GrowOnly,那么生成的窗体可以用鼠标调节大少 ②、而设为GrowAndShrik,则生成的窗体不可以用鼠标调节大少 来源: https://www

VS2008窗体应用程序工程 之 vector使用示例 -- 简单功能

╄→гoц情女王★ 提交于 2019-12-10 13:15:37
1、包含头文件: #include <vector> using namespace std; 2、使用示例: vector<int> vi; int nLen = 5; for (int i = 0; i < nLen; i++) { vi.push_back(i + 1); } int nSum = 0; for (vector<int>::iterator it = vi.begin(); it != vi.end(); it++) { nSum += *it; } printf(nSum.ToString()); --- The End. 来源: CSDN 作者: JimmyHoo0000 链接: https://blog.csdn.net/qq_41811438/article/details/103473460

swing中模态对话框(setModal(true))和显示对话框(setVisible(true))的编写顺序

那年仲夏 提交于 2019-12-10 05:04:38
今天给大家分享一个鄙人在编程中总结出的一个易错点和最容易让人感到困惑的一个知识点: 当你要从一个窗体跳转到另一个窗体,你把跳转目标的窗体设成模态对话框,设计成模态对话框就是禁止父窗体与子窗体之间操作,简单说就是当调用子窗体的时候,父窗体不能使用,必须等子窗体销毁才能使用,但是在这里会有个容易出错的地方就是子窗体不能正常现实出来,而是显示一个圆点,也就是下图这种格式 为什么会出现这种情况呢?刚开始我也有些疑惑,后来灵机一动,把setModal(true)放在setVisible(true)的后面,竟然发现解决了这个问题。 还有就是 javasetModal(true) 要在dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);的后面,否则将无法关闭子对话框 正确写法 public class EmployeeRegisterFrame extends JDialog { private JTextField accountField ; private JTextField phoneField ; private JPasswordField passwordField ; public EmployeeRegisterFrame ( ) { try { setDefaultCloseOperation (

MFC实现为窗体添加的背景图片

佐手、 提交于 2019-12-09 16:15:29
MFC实现为窗体添加的背景图片 作者:flyfish 2010-03-13 前提 将一个bmp图片添加到资源中 在资源视图中更改位图资源的ID为IDB_BITMAP_BACKGROUND。 第一种方法: 在Dialog中添加一个Picture Control控件,将Picture Control控件的Type属性 更改为Bitmap。设置Image属性为IDB_BITMAP_BACKGROUND。 这样图片自动加载到窗口中。 第二种方法: 添加消息函数OnEraseBkgnd 在BOOL 类名::OnEraseBkgnd(CDC* pDC)函数中添加如下代码 BOOL 类名::OnEraseBkgnd(CDC* pDC) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CRectrect 来源: oschina 链接: https://my.oschina.net/u/102880/blog/9381

管理 Python基础系列讲解

妖精的绣舞 提交于 2019-12-09 15:28:21
python基础系列讲解-自动控制windows桌面 原链接: https://zhuanlan.zhihu.com/p/73001806 在使用PC时与PC交互的主要途径是看屏幕显示、听声音,点击鼠标和敲键盘等等。在自动化办公的趋势下,繁琐的工作可以让程序自动完成。比如自动化测试、自动下单交易等。很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。 pywin32是一个Python库,它为Python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM机制等等,安装后会自带一个pythonwin的IDE。接下来主要介绍下如何通过Python去操作windows桌面软件。 1、打开软件或文件 ,比如打开一个谷歌浏览器,或者打开一个word文件,如下所示: win32api.ShellExecute(1, 'open', r'C:Program Files (x86)GoogleChromeApplicationchrome.exe', '', '', 1) win32api.ShellExecute(1, 'open', r'C:UsersJayDesktopEnvironment Guider.docx', '',

Swing界面之画图板小结

試著忘記壹切 提交于 2019-12-09 11:32:15
Swing界面实现画图板 最近几天在蓝杰集训,编写了一个简单的画图板。 实现画图板,首先需要创建一个继承JFrame的类,用这个类中父类的方法创建一个窗体并添加按键,为窗体和上面的按键添加监听器(监听器继承了接口Mouselistener、MouseMotionListener和ActionListioner)。 因为画图形需要在画板上获取坐标,所以添加的面板监听器是MouseListener(可以画直线和形状)和MouseMitionListener(可以画曲线)。用不同的Graphics的方法形状还可以多样化。 因为ActionListener中的方法中的 getActionCommand可以用来获得按钮的信息, 所以只为按键添加ActionListener。 因为每次改变窗体的显示范围或者最小化后重新打开窗体,窗体都会进行重绘 ,所以我们还需要创建一个数组队列来存储先相关的形状属性(另外新建一个形状的类,并创建一个个对象,对象里面存储了形状的信息的属性,我们可以用形状类的数组队列来存储一个个形状对象),在 重写重绘方法 的时候调用数组,重绘形状。 其中图形是画在面板上的,所以获取的Graphics是面板的Graphics,并且通过调用之前在监听器类中写好的获取画笔的方法传入监听器中( 使用构造方法中的构造器传参的话,必须在创建对象时进行参数传递,假另外编写一个获取参数的方法的

jQuery子窗体如何取得父窗体的元素&两种查询元素的方式的区别

狂风中的少年 提交于 2019-12-09 10:56:43
方式1: $("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementById("父窗口元素ID"); 取父窗口的元素方法:$(selector, window.parent.document) ; 取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document); 类似的,取其它窗口的方法大同小异 $(selector, window.parent.document); // 获取iframe父窗体元素 $(selector, window.opener.document); // 获取通过windows.open()打开的父窗体 $(selector, window.dialogArguments.document); // 获取通过 showModelDialog()打开的父窗体 方式2: // 获取到当前目标对象 var obj = document.getElementById( "theId" ); // 获取到当前目标对象的直接父级对象元素 var parentElement = obj.parentElement; 例子:在easyui-dialog中嵌入了iframe 父窗体JSP页面 <div id=

Java基础学习总结(23)——GUI编程

こ雲淡風輕ζ 提交于 2019-12-09 09:58:59
一、AWT介绍      所有的可以显示出来的图形元素都称为 Component , Component 代表了所有的可见的图形元素, Component 里面有一种比较特殊的图形元素叫 Container , Container( 容器 ) 在图形界面里面是一种可以容纳其它 Component 元素的一种容器, Container 本身也是一种 Component 的, Container 里面也可以容纳别的 Container 。   Container 里面又分为 Window 和 Pannel , Window 是可以独立显示出来的,平时我们看到的各种各样的应用程序的窗口都可以称为 Window , Window 作为一个应用程序窗口独立显示出来, Pannel 也可以容纳其它的图形元素,但一般看不见 Pannel , Pannel 不能作为应用程序的独立窗口显示出来, Pannel 要想显示出来就必须得把自己装入到 Window 里面才能显示出来。   Pannel 应用比较典型的就是 Applet(JAVA 的页面小应用程序 ) ,现在基本上已经不用了, AJAX 和 JAVASCRIPT 完全取代了它的应用。   Window 本身又可以分为 Frame 和 Dialog , Frame 就是我们平时看到的一般的窗口,而 Dialog 则是那些需要用户进行了某些操作

VC窗体透明而控件不透明以及Static文本背景透明方法

强颜欢笑 提交于 2019-12-09 09:45:31
优点: 1.Dialog 窗体完全透明。 2. 窗体上的控件不透明、 DC 绘制的图形不透明。 3. 拖动窗体上用 DC 绘制的图形可以移动窗体。 缺点: 1. 窗体设置透明使用是掩码颜色,所以在窗体上用 DC 绘图的过程当中如果采用了和透明掩码颜色相同的颜色将不会显示出来。 2. 如果将 Border 属性设置成了 NONE ,那么想通过响应 WM_NCHITEST 消息来实现窗体拖动就无法完成了。只能通过在窗体中增加 DC 绘图的方式来完成。 3.DC 绘图时虽然支持半透明绘图,但是透明绘图区域不透明。 1.在 OnInitDialog()或OnPaint() 中加入: COLORREF maskColor = RGB(255,255,255); //掩码颜色 SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)| 0x80000); //设定窗体使用扩展模式 SetLayeredWindowAttributes(maskColor,255,1); 2.在重载的消息WM_CTLCOLOR中加入:(其中包括Static背景透明方法) HBRUSH CTimeRemainDlg::OnCtlColor(CDC* pDC, CWnd* pWnd,