windowsAPI里面的ShowWindow函数怎么用?主要是关于窗口激活的用法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windowsAPI里面的ShowWindow函数怎么用?主要是关于窗口激活的用法。相关的知识,希望对你有一定的参考价值。

我想实现这样的功能:点击一个程序中现有的窗口弹出一个新窗口,原有窗口仍然是激活的当前窗口。

参考技术A ShowWindow
VB声明
Declare
Function
ShowWindow
Lib
"user32"
Alias
"ShowWindow"
(ByVal
hwnd
As
Long,
ByVal
nCmdShow
As
Long)
As
Long
说明
控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性)
返回值
Long,如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)
参数表
参数
类型及说明
hwnd
Long,窗口句柄,要向这个窗口应用由nCmdShow指定的命令
nCmdShow
Long,为窗口指定可视性方面的一个命令。请用下述任何一个常数
SW_HIDE
隐藏窗口,活动状态给令一个窗口
SW_MINIMIZE
最小化窗口,活动状态给令一个窗口
SW_RESTORE
用原来的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOW
用当前的大小和位置显示一个窗口,同时令其进入活动状态
SW_SHOWMAXIMIZED
最大化窗口,并将其激活
SW_SHOWMINIMIZED
最小化窗口,并将其激活
SW_SHOWMINNOACTIVE
最小化一个窗口,同时不改变活动窗口
SW_SHOWNA
用当前的大小和位置显示一个窗口,不改变活动窗口
SW_SHOWNOACTIVATE
用最近的大小和位置显示一个窗口,同时不改变活动窗口
SW_SHOWNORMAL
与SW_RESTORE相同

mfc中我调用showwindow函数显示一个对话框,显示了,但是又瞬间消失了,这是啥情况啊?求解~~

TestDlg TDlg= new TestDlg();
TDlg.Create(IDD_DIALOG1,0);
TDlg.ShowWindow(SW_SHOW);

非模态对话框显示的时候程序不会暂停等待用户操作,如果使用临时变量的话,对象的生命周期在调用函数执行完之后就结束,这样就无法正常显示,所以可采用创建对象指针的方式,由于动态创建的指针对象是分配在堆内存上,堆内存上的变量周期可应用程序相同。

TestDlg *TDlg= new TestDlg;
TDlg->Create(IDD_DIALOG1,this);//最好用this声明父窗口,无从属用NULL不要用0
TDlg->ShowWindow(SW_SHOW);
参考技术A 语法上有错误,TestDlg *TDlg= new TestDlg();
其他的对应改下

以上是关于windowsAPI里面的ShowWindow函数怎么用?主要是关于窗口激活的用法。的主要内容,如果未能解决你的问题,请参考以下文章

MFC 关于showwindow函数的用法。。。有图,帮忙解决下!

调用API函数ShowWindow()来隐藏窗口

Windows API一日一练 7 ShowWindow函数

WIN32 SwitchToThisWindow、ShowWindow 和 SetActiveWindow

用showwindow函数显示窗体,不能显示按钮,且无法关闭,为啥

关于ShowWindow(SW_HIDE);