VC 窗体隐藏问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC 窗体隐藏问题相关的知识,希望对你有一定的参考价值。
char *lpCmdStr=NULL,lpCmdArray[255];
lpCmdStr=::GetCommandLine();
lstrcpy(lpCmdArray,lpCmdStr);
int lpCmdLen=strlen(lpCmdArray);
if(lpCmdArray[lpCmdLen-1]=='s')
CDialog::ShowWindow(SW_HIDE);
求教大虾,上面的 ShowWindow(SW_HIDE) 还是无法隐藏窗体,上面的代码在 OnInitDialog 函数中,请问如何才能在 OnInitDiakog 函数中实现窗体的隐藏?谢谢
可以添加一个布尔型变量,初始化为真,在Onpaint函数中
if(m_bFirst)
ShowWindow(SW_HIDE);
m_bFirst = FALSE;
但这样会看到窗口一闪而过,要想不闪烁,那你只有用非模态对话框或重写DoModal函数了。 参考技术A 这个就可以了
HWND hwnd = CreateDialog(AfxGetApp()-> m_hInstance,MAKEINTRESOURCE(IDD_ABOUTBOX),this-> m_hWnd,NULL);
::ShowWindow(hwnd,SW_HIDE);
Sleep(1000);
::ShowWindow(hwnd,SW_SHOW);追问
首先,先不管 oninitdialog 函数中添加这段能不能实现隐藏启动,光看 Sleep(1000) 这句就已经不行了,不过还是谢谢回答
参考技术B 实现什么窗体的隐藏,CDialog::ShowWindow(SW_HIDE),你这句话是隐藏你本身对话框的,本身对话框还没出现,隐藏代码起作用了也显示不出效果,你想让谁隐藏,谁调用ShowWindow(SW_HIDE);比如pWnd->ShowWindow(SW_HIDE); 参考技术C 调用这个函数ShowWindow(SW_HIDE)后,是否要刷新一下? 参考技术D 你可以在OnCreate中使用VC++ 怎样显示窗体?
已经设计好了多个dialog,比如说有个ID为IDD_1,怎样点击按钮之后让它出现?最菜鸟的问题了!救命啊!
如果你是创建好了对话框资源,需要添加一个和他相关联的类。这个类是系统生成的,在资源管理器对话框界面上,点击右键,选择Class Wizard,的对话框中选择Create new。最后生成一个类,在使用对话框的cpp文件中加入如下代码,#include <xxxDlg.h>
......
CxxxDlg dia;
dia.DoModual();
一个模态对话框就okay了,具体操作可能会遇到困难,可以hi我。 参考技术A 比如说你的”IDD_1“的类名为CDialogDlg;
在按下按钮后执行:
CDialogDlg dlg;
dlg.DoModal();
就弹出来了本回答被提问者采纳 参考技术B 1、工程中加入弹出窗口,类名为CInputBox,弹出窗口上加入一个TEXTBOX控件,设计关联变量为m_edit,将弹出窗口的头文件定义#include "InputBox.h"拷贝到父窗口。
2、输入下面程序:
CInputBox dlg;
dlg.DoModal();
CString temp=dlg.m_edit;
此时在弹出窗口的输入就会被赋给变量temp中
以上是关于VC 窗体隐藏问题的主要内容,如果未能解决你的问题,请参考以下文章
VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???