如何让易语言程序打开时自动将屏幕最大化,能自动适应不同尺寸的显示屏

如何让易语言程序打开时自动将屏幕最大化,能自动适应不同尺寸的显示屏,第1张

版本 2

程序集 窗口程序集1

子程序 __启动窗口_创建完毕

_启动窗口顶边 = 0

_启动窗口左边 = 0

_启动窗口高度 = 取屏幕高度 ()

_启动窗口宽度 = 取屏幕宽度 ()

右击任意软件的快捷方式,选择属性,然后看下图:

理论上,支持窗口最大化的软件通过这个方式,都可以在启动时便自动最大化。不过对于以非窗口模式运行的程序,或者强制以特定窗口大小显示的程序不起作用。

希望我的回答能帮助你!

问一句,你是调用还是直接嵌入?下面是直接嵌入的,你改改,这是我以前用到的

using System;

using SystemCollections;

using SystemComponentModel;

using SystemDrawing;

using SystemData;

using SystemWindowsForms;

using SystemRuntimeInteropServices;

namespace WinWordControl

{

public class DocumentInstanceException : Exception

{}

public class ValidDocumentException : Exception

{}

public class WordInstanceException : Exception

{}

public class WinWordControl : SystemWindowsFormsUserControl

{

[DllImport("user32dll")]

public static extern int FindWindow(string strclassName, string strWindowName);

[DllImport("user32dll")]

static extern int SetParent( int hWndChild, int hWndNewParent);

[DllImport("user32dll", EntryPoint="SetWindowPos")]

static extern bool SetWindowPos(

int hWnd, // handle to window

int hWndInsertAfter, // placement-order handle

int X, // horizontal position

int Y, // vertical position

int cx, // width

int cy, // height

uint uFlags // window-positioning options

);

[DllImport("user32dll", EntryPoint="MoveWindow")]

static extern bool MoveWindow(

int爃Wnd,

int X,

int Y,

int爊Width,

int爊Height,

bool燽Repaint

);

const int SWP_DRAWFRAME = 0x20;

const int SWP_NOMOVE = 0x2;

const int SWP_NOSIZE = 0x1;

const int SWP_NOZORDER = 0x4;

private WordDocument document;

private static WordApplicationClass wd = null;

public static int wordWnd = 0;

private static string filename = null;

private static bool deactivateevents = false;

/// <summary>

/// needed designer variable

/// </summary>

private SystemComponentModelContainer components = null;

public WinWordControl()

{

InitializeComponent();

}

/// <summary>

/// cleanup Ressources

/// </summary>

protected override void Dispose( bool disposing )

{

CloseControl();

if( disposing )

{

if( components != null )

componentsDispose();

}

baseDispose( disposing );

}

#region Component Designer generated code

/// <summary>

/// !do not alter this code! It's designer code

/// </summary>

private void InitializeComponent()

{

//

// WinWordControl

//

thisName = "WinWordControl";

thisSize = new SystemDrawingSize(440, 336);

thisResize += new SystemEventHandler(thisOnResize);

}

#endregion

/// <summary>

/// Preactivation

/// It's usefull, if you need more speed in the main Program

/// so you can preload Word

/// </summary>

public void PreActivate()

{

if(wd == null) wd = new WordApplicationClass();

}

/// <summary>

/// Close the current Document in the control --> you can

/// load a new one with LoadDocument

/// </summary>

public void CloseControl()

{

/

this code is to reopen Word

/

try

{

deactivateevents = true;

object dummy=null;

documentClose(ref dummy, ref dummy, ref dummy);

documentApplicationQuit(ref dummy, ref dummy, ref dummy);

deactivateevents = false;

}

catch

{

}

}

/// <summary>

/// catches Word's close event

/// starts a Thread that send a ESC to the word window ;)

/// </summary>

/// <param name="doc"></param>

/// <param name="test"></param>

private void OnClose(WordDocument doc, ref bool chancel)

{

if(!deactivateevents)

{

chancel=true;

}

}

/// <summary>

/// catches Word's open event

/// just close

/// </summary>

/// <param name="doc"></param>

private void OnOpenDoc(WordDocument doc)

{

OnNewDoc(doc);

}

/// <summary>

/// catches Word's newdocument event

/// just close

/// </summary>

/// <param name="doc"></param>

private void OnNewDoc(WordDocument doc)

{

if(!deactivateevents)

{

deactivateevents=true;

object dummy = null;

docClose(ref dummy,ref dummy,ref dummy);

deactivateevents=false;

}

}

/// <summary>

/// catches Word's quit event

/// normally it should not fire, but just to be shure

/// safely release the internal Word Instance

/// </summary>

private void OnQuit()

{

//wd=null;

}

版本

2

程序集

窗口移动类,

,

公开

程序集变量

窗口句柄数组,

整数型,

,

"0"

程序集变量

窗口比例,

窗口比例,

,

"0"

程序集变量

顶级句柄,

整数型

子程序

_初始化,

,

,

当基于本类的对象被创建后,此方法会被自动调用

子程序

_销毁,

,

,

当基于本类的对象被销毁前,此方法会被自动调用

子程序

初始化,

整数型,

公开,

非零表示成功,零表示失败。

参数

窗口句柄,

整数型,

,

要初始化的顶级句柄

局部变量

a,

整数型

局部变量

顶级矩形坐标,

矩形坐标

局部变量

临时矩形坐标,

矩形坐标

局部变量

临时窗口比例,

窗口比例

局部变量

宽度_,

整数型

局部变量

高度_,

整数型

局部变量

坐标,

坐标型

局部变量

临时数组1,

整数型,

,

"0"

局部变量

b,

整数型

局部变量

c,

整数型

局部变量

临时数组2,

整数型,

,

"0"

顶级句柄

窗口句柄

取窗口内大小

(顶级句柄,

宽度_,

高度_)

_窗口取外边框

(顶级句柄,

顶级矩形坐标)

坐标

取窗口内顶点

(顶级句柄)

'

调试输出

(坐标x,

坐标y,

顶级矩形坐标矩形顶边,

顶级矩形坐标矩形左边)

清除数组

(窗口比例)

计次循环首

(枚举子窗口

(顶级句柄,

临时数组1),

a)

计次循环首

(枚举子窗口

(临时数组1

[a],

窗口句柄数组),

b)

计次循环首

(取数组成员数

(临时数组1),

c)

如果真

(临时数组1

[c]

窗口句柄数组

[b])

临时数组1

[c]

-1

跳出循环

()

如果真结束

处理事件

()

计次循环尾

()

计次循环尾

()

计次循环尾

()

清除数组

(窗口句柄数组)

计次循环首

(取数组成员数

(临时数组1),

a)

如果真

(临时数组1

[a]

-1)

加入成员

(窗口句柄数组,

临时数组1

[a])

如果真结束

处理事件

()

计次循环尾

()

计次循环首

(取数组成员数

(窗口句柄数组),

a)

_窗口取外边框

(窗口句柄数组

[a],

临时矩形坐标)

临时窗口比例句柄

窗口句柄数组

[a]

临时窗口比例顶边

(临时矩形坐标矩形顶边

(坐标y

顶级矩形坐标矩形顶边)

顶级矩形坐标矩形顶边)

÷

高度_

临时窗口比例左边

(临时矩形坐标矩形左边

(坐标x

顶级矩形坐标矩形左边)

顶级矩形坐标矩形左边)

÷

宽度_

临时窗口比例宽度

(临时矩形坐标矩形右边

临时矩形坐标矩形左边)

÷

宽度_

临时窗口比例高度

(临时矩形坐标矩形底边

临时矩形坐标矩形顶边)

÷

高度_

'

调试输出

(临时窗口比例顶边,

临时窗口比例左边,

临时窗口比例宽度,

临时窗口比例高度)

加入成员

(窗口比例,

临时窗口比例)

处理事件

()

计次循环尾

()

返回

(取数组成员数

(窗口比例))

子程序

事件_,

,

公开

局部变量

a,

整数型

局部变量

顶级矩形坐标,

矩形坐标

局部变量

临时矩形坐标,

矩形坐标

局部变量

临时窗口比例,

窗口比例

局部变量

宽度_,

整数型

局部变量

高度_,

整数型

局部变量

局_类名,

文本型

局部变量

宽度2_,

整数型

局部变量

高度2_,

整数型

取窗口内大小

(顶级句柄,

宽度_,

高度_)

_窗口取外边框

(顶级句柄,

顶级矩形坐标)

计次循环首

(取数组成员数

(窗口比例),

a)

窗口移动

(窗口比例

[a]句柄,

窗口比例

[a]左边

×

宽度_,

窗口比例

[a]顶边

×

高度_,

窗口比例

[a]宽度

×

宽度_,

窗口比例

[a]高度

×

高度_)

_窗口更新

(窗口比例

[a]句柄)

处理事件

()

计次循环尾

()

用了超级模块。以上是类

复制到类模块里

版本

2支持库

iext

程序集

窗口程序集1程序集变量

窗口移动类,

窗口移动类

子程序

__启动窗口_创建完毕

局部变量

b,

整数型

局部变量

a,

整数型

窗口移动类初始化

(_启动窗口取窗口句柄

())

子程序

__启动窗口_尺寸被改变

窗口移动类事件_

()

以上是窗口事件

复制到窗口事件里

版本

2

数据类型

窗口比例

成员

句柄,

整数型

成员

顶边,

双精度小数型

成员

左边,

双精度小数型

成员

宽度,

双精度小数型

成员

高度,

双精度小数型

以上是自定义数据类型

把窗口最大化的快捷键是先同时按下ALT和空格在按X键。

最小化的快捷键是同时按下ALT和空格在按N

键!

说有程序最小化

windows+D

关闭就是

alt+f4

希望对你有帮助

个人感觉最大化

最小化的快捷键好麻烦

程序代码:

<!--最小化-->

<OBJECT id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-

00aa003b7a11">

<PARAM name="Command" value="Minimize"></OBJECT>

<button onclick="minClick()"><font face="webdings">0</font></button>

<!--最大化-->

<OBJECT id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-

00aa003b7a11">

<PARAM name="Command" value="Maximize"></OBJECT>

<button onclick="maxClick()"><font face="webdings">1</font></button>

<!--关闭窗口-->

<OBJECT id="clo" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-

00aa003b7a11">

<PARAM name="Command" value="Close"></OBJECT>

<button onclick="cloClick()"><font face="webdings">r</font></button>

<!--3秒后窗口自动最小化-->

<meta >

以下代码供参考,自动隐藏

option

explicit

private

declare

function

getcursorpos

lib

"user32"

(lppoint

as

pointapi)

as

long

private

declare

function

getwindowrect

lib

"user32"

(byval

hwnd

as

long,

lprect

as

rect)

as

long

private

declare

function

setwindowpos

lib

"user32"

(byval

hwnd

as

long,

byval

hwndinsertafter

as

long,

byval

x

as

long,

byval

y

as

long,

byval

cx

as

long,

byval

cy

as

long,

byval

wflags

as

long)

as

long

private

type

rect

left

as

long

top

as

long

right

as

long

bottom

as

long

end

type

private

type

pointapi

x

as

long

y

as

long

end

type

private

const

hwnd_topmost

=

-1

private

const

swp_nosize

=

&h1

private

const

swp_nomove

=

&h2

private

const

hwnd_top

=

0

private

const

swp_noactivate

=

&h10

private

const

swp_showwindow

=

&h40

private

sub

form_load()

'窗体放在最前面

setwindowpos

mehwnd,

hwnd_topmost,

0,

0,

0,

0,

swp_showwindow

or

swp_nomove

or

swp_nosize

end

sub

private

sub

timer1_timer()

dim

p

as

pointapi

dim

f

as

rect

getcursorpos

p

'得到mouse位置

getwindowrect

mehwnd,

f

'得到窗体的位置

if

mewindowstate

<>

1

then

if

px

>

fleft

and

px

<

fright

and

py

>

ftop

and

py

<

fbottom

then

'mouse

在窗体上

if

metop

<

0

then

metop

=

-10

meshow

elseif

meleft

<

0

then

meleft

=

-10

meshow

elseif

meleft

+

mewidth

>=

screenwidth

then

meleft

=

screenwidth

-

mewidth

+

10

meshow

end

if

else

if

ftop

<=

4

then

metop

=

40

-

meheight

elseif

fleft

<=

4

then

meleft

=

40

-

mewidth

elseif

meleft

+

mewidth

>=

screenwidth

-

4

then

meleft

=

screenwidth

-

40

end

if

end

if

end

if

end

sub

以上就是关于如何让易语言程序打开时自动将屏幕最大化,能自动适应不同尺寸的显示屏全部的内容,包括:如何让易语言程序打开时自动将屏幕最大化,能自动适应不同尺寸的显示屏、电脑软件怎么设置一打开就是最大化,浏览器一打开就是还原的,win7系统、c# 嵌入一个外部程序 如何让这个外部程序窗口最大化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9835411.html

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

发表评论

登录后才能评论

评论列表(0条)

保存