x-Screen屏幕分割软件

部署运行你感兴趣的模型镜像

以前我一直用两个显示器,一边写代码,一边看youku,感觉一心两用的非常爽。但最近换成了一个32寸的大家伙,感觉同时开着eclipse和youku、QQ,互相压着,要扥来扥去很是不爽。

 

回想边看本山快乐营边写代码的日子,我决定着手写个小软件,一个能把屏幕分割成各个区域使用工具 —— x-Screen

 

这个软件的原理很简单,首先在屏幕上定义出矩形区域,然后捕捉窗口最大化的动作,再把它们放到适合的位置。

 

开发工具:Visual Studio 2008

开发语言:vb.netjavascript(定义矩形区域)

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

**&---------------------------------------------------------------------* **& Report ZTEXT03 **&---------------------------------------------------------------------* **& **&---------------------------------------------------------------------* REPORT ztext03. TABLES :ZTSD040 , ZTSD032,MARC. SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS : S_ZCHTZD FOR ZTSD040-ZCHTZD, S_ZXSZZ FOR ZTSD040-ZXSZZ, S_ZFXQD FOR ZTSD040-ZFXQD, S_ZSDF1 FOR ZTSD040-ZSDF1, S_ZSDF2 FOR ZTSD040-ZSDF2, S_ZCHRQ FOR ZTSD040-ZCHRQ, S_ZCJRQ FOR ZTSD040-ZCJRQ, S_ZGZZT FOR ZTSD040-ZGZZT, S_BUDAT FOR ZTSD040-ZCHRQ. PARAMETERS :P_1 AS CHECKBOX. SELECT-OPTIONS : S_WERKD FOR MARC-WERKS. PARAMETERS :P_2 AS CHECKBOX. SELECTION-SCREEN END OF BLOCK B1. * 全局变量定义 DATA: gr_top_alv TYPE REF TO cl_gui_alv_grid. "屏幕alv对象 DATA: gr_bottom_alv TYPE REF TO cl_gui_alv_grid. "屏幕alv对象 DATA: gr_dock TYPE REF TO cl_gui_docking_container, "屏幕容器对象"选择屏幕 gr_splitter TYPE REF TO cl_gui_splitter_container, gr_top_con TYPE REF TO cl_gui_container, " 最上面的容器 gr_bottom_con TYPE REF TO cl_gui_container. " 最下面的容器 DATA: gt_spfli TYPE TABLE OF spfli, gt_sbook TYPE TABLE OF sbook. START-OF-SELECTION. CALL SCREEN 9000. **&---------------------------------------------------------------------* *& Module z OUTPUT *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* MODULE pbo_0100 OUTPUT. PERFORM frm_status_0100. ENDMODULE. *&---------------------------------------------------------------------* *& Module PAI_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE pai_0100 INPUT. PERFORM frm_pai_0100 USING sy-ucomm. ENDMODULE. *&---------------------------------------------------------------------* *& Form frm_status_0100 *&---------------------------------------------------------------------* *& text *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_status_0100 . IF gr_dock IS INITIAL. * 创建ALV PERFORM frm_init_alv_grids. ELSE. * 刷新ALV对象 PERFORM frm_refresh_alv USING gr_top_alv. PERFORM frm_refresh_alv USING gr_bottom_alv. ENDIF. ENDFORM. *&---------------------------------------------------------------------* *& Form frm_init_alv_grids *&---------------------------------------------------------------------* *& 使用Dock将屏幕分割为上下两部分; *& 建立上下两个ALV对象 *&---------------------------------------------------------------------* *& --> p1 text *& <-- p2 text *&---------------------------------------------------------------------* FORM frm_init_alv_grids. DATA: ls_layout TYPE lvc_s_layo. *& 设置屏幕的标题状态 SET PF-STATUS 'STATUS_0100'. SET TITLEBAR 'TITLE_0100'. *& 0. 创建docking CREATE OBJECT gr_dock EXPORTING repid = sy-repid dynnr = sy-dynnr extension = '1500' "屏幕大小 side = cl_gui_docking_container=>dock_at_top. * 将屏幕拆分成上下两个屏幕:两行一列 CREATE OBJECT gr_splitter EXPORTING parent = gr_dock rows = 2 columns = 1. *& 1. 第一个屏幕容器放在第一行第一列 CALL METHOD gr_splitter->get_container EXPORTING row = 1 column = 1 RECEIVING container = gr_top_con. * 第一个屏幕高度 CALL METHOD gr_splitter->set_row_height EXPORTING id = 1 height = 50. * 第一个ALV CREATE OBJECT gr_top_alv EXPORTING i_parent = gr_top_con. ls_layout-sel_mode = 'D'. ls_layout-zebra = 'X'. ls_layout-cwidth_opt = 'X'. CALL METHOD gr_top_alv->set_table_for_first_display EXPORTING i_structure_name = 'SPFLI' is_layout = ls_layout CHANGING it_outtab = gt_spfli. *& 2. 第二个屏幕容器放在第二行第一列 CALL METHOD gr_splitter->get_container EXPORTING row = 2 column = 1 RECEIVING container = gr_bottom_con. * 第二个ALV CREATE OBJECT gr_bottom_alv EXPORTING i_parent = gr_bottom_con. ls_layout-sel_mode = 'D'. ls_layout-zebra = 'X'. ls_layout-cwidth_opt = 'X'. CALL METHOD gr_bottom_alv->set_table_for_first_display EXPORTING i_structure_name = 'SBOOK' is_layout = ls_layout CHANGING it_outtab = gt_sbook. ENDFORM. *&---------------------------------------------------------------------* *& Form frm_refresh_alv *&---------------------------------------------------------------------* *& ALV 刷新 *&---------------------------------------------------------------------* *& --> GR_TOP_ALV *&---------------------------------------------------------------------* FORM frm_refresh_alv USING ir_alv_grid TYPE REF TO cl_gui_alv_grid. DATA: ls_stable TYPE lvc_s_stbl. CLEAR: ls_stable. ls_stable-row = 'X'. ls_stable-col = 'X'. CALL METHOD ir_alv_grid->refresh_table_display EXPORTING is_stable = ls_stable. ENDFORM. *&---------------------------------------------------------------------* *& Form frm_pai_0100 *&---------------------------------------------------------------------* *& 100屏幕 互动处理 *&---------------------------------------------------------------------* *& --> SY_UCOMM *&---------------------------------------------------------------------* FORM frm_pai_0100 USING iv_ucomm TYPE sy-ucomm. CASE iv_ucomm. WHEN 'BACK' OR 'EXIT' OR 'CANCEL'. LEAVE TO SCREEN 0. "返回上一级 WHEN OTHERS. ENDCASE. ENDFORM. 给gt_sbook创建按钮
最新发布
09-18
窗口数目任你调   安装运行AcerGrid,此时,系统托盘区会出现一个显示器状图标,右击它,选择“Grid Configuration→Display 1”,在出现的级联菜单中可看到不同的分割方式,每种方式前都以直观的图示显示出窗格效果,你可以根据需要选择合适的方式(最多支持分成四个区域)。 窗口显示快速达   设置好窗口数后,咱们便可快速地使窗口显示到指定窗格中。有两种方法可快速来完成。   1.一拖而就   缩小要拖入的窗口(不是最小化哦),然后指指针移到其标题栏,按下鼠标左键进行拖动,便可显示窗格,此时将其拖曳到相应的区域中即可。程序会自动调整窗口,使其占满所在的窗格。   小提示:一定不能使窗口处于最大化状态,否则无法进行拖曳操作。 2.快速设置   上面的方法在窗口最大化时不能进行操作,给操作带来一些不方便。在实际操作中,还有一种更为便捷的方法,可将当前运行的窗口快速添加进窗格中,自由性更大。   AcerGrid安装完成后,会在以后打开的窗口右上侧添加三个相应的按钮。需要将当前窗口添加到栅格中时,只要单击“Acer GridVista Extensions”按钮,选择“Send Window to Grid”项,然后选择好要发送的窗格即可,很方便吧? 如果要让该窗口解除栅格状态,除了可以直接单击窗口中的“向下还原”按钮令其还原外,咱们还可单击“Lock to Grid”按钮来解除当前状态。另外,如果你想让当前窗口出现类似于Vista的透明效果的话,可以单击“Acer Vista Extensions”按钮,然后选择“Transparent”即可。 display1菜单中,normal是正常显示模式,double(vertical)窗口分成左右两个,triple窗口分成三个,quad,窗口分成四个,triple和quad左边的小图标就是分屏后的样式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值