SOS,关于动态创建windows窗口的问题?? CreateWindow(),,查查属性,就可以没有工具栏,菜单栏,和标题栏,只有显示区 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用RegisterClass()注册一个窗口类,或者在Resource中画一个。然后用CreateWindow()生成这个窗体。用SetWindowLong()改变窗口风格,最后ShowWindow()。 可以使用CCreateCOntext类来实现,程序如下。在这个窗口上只有一个视图,所以就没有工具栏等项目。程序示例如下:(其中CClgView是一个基于CView的视图类。 CRuntimeClass * pViewClass=RUNTIME_CLASS(CDlgView); CCreateContext *pContext; pContext=new CCreateContext; pContext->m_pNewViewClass=pViewClass; pContext->m_pCurrentDoc=NULL; pContext->m_pNewDocTemplate=NULL; pContext->m_pLastView=NULL; pContext->m_pCurrentFrame=NULL; CWnd *pWnd=NULL; pWnd=DYNAMIC_DOWNCAST(CWnd,pViewClass->CreateObject()); pWnd->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW,rectFrame(0,0,0,0, 0),this,0,pContext); delete pContext; m_pCDlgView=DYNAMIC_DOWNCAST(CDlgView,pWnd); m_pCDlgView->MoveWindow(20,20,480,235);//初始化视图。 谢谢: colorknight(多彩的骑士)。我是新手,,能不能说详细一点也谢谢cuisha(旭阳) 和其他兄弟 #define PCLINKLISTTIP_CLASSNAME "TESTWNDCLASS"LRESULT CALLBACK WndProcMy(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){ switch(uMsg) { default: break; } return DefWindowProc(hWnd,uMsg,wParam,lParam);}void CTestDlgDlg::OnButton1() { // TODO: Add your control notification handler code here WNDCLASS wndcls; HINSTANCE hInst = AfxGetInstanceHandle(); if(!(::GetClassInfo(hInst, PCLINKLISTTIP_CLASSNAME, &wndcls))) { wndcls.style = CS_DBLCLKS | CS_SAVEBITS ; // Xavier added CS_DBLCLKS 8th Feb 1999 wndcls.lpfnWndProc = WndProcMy; // Xavier changed from ::DefWindowProc; wndcls.cbClsExtra = wndcls.cbWndExtra = 0; wndcls.hInstance = hInst; wndcls.hIcon = NULL; wndcls.hCursor = LoadCursor(NULL, IDC_ARROW); wndcls.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wndcls.lpszMenuName = NULL; wndcls.lpszClassName = PCLINKLISTTIP_CLASSNAME; if (!AfxRegisterClass(&wndcls)) AfxThrowResourceException(); } HWND hWnd = ::CreateWindow(PCLINKLISTTIP_CLASSNAME,"",WS_POPUP,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInst, NULL); ::ShowWindow(hWnd,SW_SHOW); ::MoveWindow(hWnd,20,20,480,235,TRUE); ::BringWindowToTop(hWnd); ::SetForegroundWindow(hWnd);} 结构体 struct 是值类型,还是"引用类型"呀? mfc编辑框,清空数字,提示报错? 怎样才能得星星。。。 ado存储过程执行参数赋值问题 FDSFD 用VC 以URL地址 下载zip 文件到指定目录 然后在解压缩?求达人指点 求Visual C++ MFC 编程实例/扩展编程实例 光盘 各位兄弟帮忙,急!!对CListCtrl排序后,再重新插入数据显示错误!! 已知菜单ID,怎么给她发消息? 当一个窗体被创建,被移动,被改变大小时,共发出了哪些消息? 静态成员数据赋值的简单问题 如何写非阻塞方式Socket?高手请进!
就没有工具栏等项目。程序示例如下:(其中CClgView是一个基于CView的视图类。
CRuntimeClass * pViewClass=RUNTIME_CLASS(CDlgView);
CCreateContext *pContext;
pContext=new CCreateContext;
pContext->m_pNewViewClass=pViewClass;
pContext->m_pCurrentDoc=NULL;
pContext->m_pNewDocTemplate=NULL;
pContext->m_pLastView=NULL;
pContext->m_pCurrentFrame=NULL;
CWnd *pWnd=NULL;
pWnd=DYNAMIC_DOWNCAST(CWnd,pViewClass->CreateObject());
pWnd->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW,rectFrame(0,0,0,0, 0),this,0,pContext);
delete pContext;
m_pCDlgView=DYNAMIC_DOWNCAST(CDlgView,pWnd);
m_pCDlgView->MoveWindow(20,20,480,235);//初始化视图。
我是新手,,能不能说详细一点
也谢谢cuisha(旭阳) 和其他兄弟
LRESULT CALLBACK WndProcMy(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
default:
break;
}
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
void CTestDlgDlg::OnButton1()
{
// TODO: Add your control notification handler code here
WNDCLASS wndcls;
HINSTANCE hInst = AfxGetInstanceHandle();
if(!(::GetClassInfo(hInst, PCLINKLISTTIP_CLASSNAME, &wndcls)))
{
wndcls.style = CS_DBLCLKS | CS_SAVEBITS ; // Xavier added CS_DBLCLKS 8th Feb 1999
wndcls.lpfnWndProc = WndProcMy; // Xavier changed from ::DefWindowProc;
wndcls.cbClsExtra = wndcls.cbWndExtra = 0;
wndcls.hInstance = hInst;
wndcls.hIcon = NULL;
wndcls.hCursor = LoadCursor(NULL, IDC_ARROW);
wndcls.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wndcls.lpszMenuName = NULL;
wndcls.lpszClassName = PCLINKLISTTIP_CLASSNAME;
if (!AfxRegisterClass(&wndcls)) AfxThrowResourceException();
}
HWND hWnd = ::CreateWindow(PCLINKLISTTIP_CLASSNAME,"",WS_POPUP,CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInst,
NULL);
::ShowWindow(hWnd,SW_SHOW);
::MoveWindow(hWnd,20,20,480,235,TRUE);
::BringWindowToTop(hWnd);
::SetForegroundWindow(hWnd);
}