我是新手,请教一个问题:
CWnd wnd;
BOOL b=wnd.CreateEx(WS_POPUP,"CDialog","你好",WS_VISIBLE,100,100,300,300,NULL,IDR_MENU1,NULL);
为什么编译的时候显示WS_POPUP没有定义啊??哪位高手给个例子呀~~
CWnd wnd;
BOOL b=wnd.CreateEx(WS_POPUP,"CDialog","你好",WS_VISIBLE,100,100,300,300,NULL,IDR_MENU1,NULL);
为什么编译的时候显示WS_POPUP没有定义啊??哪位高手给个例子呀~~
{
CWnd* pWnd = new CStatic;
pWnd->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), "Hi",
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)1234);
}^_^
{
// TODO: Add your specialized code here and/or call the base class
// cs.style = WS_BORDER | WS_POPUPWINDOW | WS_VISIBLE | WS_CLIPCHILDREN;
return CWnd::PreCreateWindow(cs);
}BOOL COCWnd::Create(DWORD dwExStyle, DWORD dwStyle, const RECT& rect,
CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
// Register a class with no cursor
if (m_lpszClassName == NULL)
{
m_lpszClassName = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW);
}
// TODO: Add your specialized code here and/or call the base class
return CreateEx(dwExStyle, m_lpszClassName, _T("显示地籍图"), dwStyle,
rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,
pParentWnd->GetSafeHwnd(), NULL, NULL);
}
void WINAPI OpenCadaster(CWnd* pCLEMMWnd, HWND m_hwndMapWindow)
{
COCWnd* pOCWnd;
CRect ChildRect, PRect;
CString strCommand;
pCLEMMWnd->GetClientRect(&PRect);
ChildRect = PRect;
ChildRect.left = PRect.left+PRect.Width()/2;
ChildRect.top = PRect.top+50;
ChildRect.bottom = PRect.bottom/2+50;
pOCWnd = new COCWnd;
pOCWnd->m_hMainhWndWindow = m_hwndMapWindow;
pOCWnd->Create(WS_EX_OVERLAPPEDWINDOW|WS_EX_TOPMOST, WS_VISIBLE|WS_POPUP|WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN, ChildRect, NULL, 0, NULL);
}
----------------------
_T是一个支持UNICODE字符的宏定义,使用了能起到安全的作用
否则,就是ANSI字符_UNICODE宏决定了程序中的C、C++标准库函数是否编译成支持UNICODE的样子
UNICODE宏决定了程序中的windows函数是否编程成支持UNICODE的样子以下是我写的,不是真正的定义,懒的找,呵呵~
#ifdef _UNICODED
#define _T(XX) wchar_t XX
#else
#define _T(XX) char XX
#endif