100问一个超简单的新建窗口的问题,马上给分!!UP有分!

stillon 2002-07-29 03:24:22
我要实现的功能是这样的,想利用例如CREATWINDOW或其他函数实现新建一个窗口的功能。这个窗口其实是一个区域就可以啦,因为我是利用它来输出预览视频的,我一定要
得到这个窗口的相关句柄 HWND!我试过用createwindow但是不行,主要是
HWND CreateWindow(
LPCTSTR lpClassName, // registered class name
LPCTSTR lpWindowName, // window name
DWORD dwStyle, // window style
int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // menu handle or child identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam // window-creation data
);
第一个参数究竟是什么意思,还有后面3个参数怎么处理。我应该怎么设计第一个参数!
事实上我只是要得到一个区域句柄而已,也不打算将这个窗口和什么控件相连。所以我觉的其他那些参数是多余的,究竟怎么设置阿,这个问题对于大虾来说一定是小菜一碟,帮忙回答一下。
...全文
65 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
agui79 2002-07-29
  • 打赏
  • 举报
回复
你有《深入浅出MFC》吗?那本书的一开始就有个完整的用SDK写的程序,你可以看看!!
Flysnow 2002-07-29
  • 打赏
  • 举报
回复
up
FFXI 2002-07-29
  • 打赏
  • 举报
回复
up!
suntt 2002-07-29
  • 打赏
  • 举报
回复
你要有窗口函数
saturday 2002-07-29
  • 打赏
  • 举报
回复
我的回复,有分吗?呵呵
lqbn 2002-07-29
  • 打赏
  • 举报
回复
up
saturday 2002-07-29
  • 打赏
  • 举报
回复
int WINAPI WinMain(HINSTANCE hInstance, //winmain函数说明
HINSTANCE hPrevInst,
LPSTR pszCmdline,
int nCmdShow)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[]="窗口"; //窗口类名
char lpszTitle[]="My-Windows"; //窗口标题名
//窗口类的定义
wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
// wndclass.hIcon=LoadCursor(NULL,IDC_ARROW);

wndclass.hIcon = LoadIcon(hInstance, IDC_ARROW);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);

wndclass.hbrBackground=(HBRUSH )GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszClassName;
//---------以下进行窗口类的注册----------
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
//创建窗口
hwnd=CreateWindow(lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
NULL,
NULL,
hInstance,
NULL);
//显示窗口
ShowWindow(hwnd,SW_SHOW);
//绘制用户区
UpdateWindow(hwnd);
//消息循环
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;//消息循环结束既程序终止时将信息返回系统
}
badknife 2002-07-29
  • 打赏
  • 举报
回复
1、LPCTSTR lpClassName, // registered class name
是一个WNDCLASSEX结构的名称;
例如: WNDCLASSEX sdkmenu;
sdkmenu.cbSize =sizeof(WNDCLASSEX);
sdkmenu.style =0;
sdkmenu.lpfnWndProc =(WNDPROC)MainWndProc;
sdkmenu.cbClsExtra =0;
sdkmenu.cbWndExtra =0;
sdkmenu.hInstance =hInstance;
sdkmenu.hIcon =LoadIcon(hInstance,"MenuAppIcon");
sdkmenu.hCursor =LoadCursor(NULL,IDC_ARROW);
sdkmenu.hbrBackground =(HBRUSH)GetStockObjec(WHITE_BRUSH);
sdkmenu.lpszMenuName ="MenuAppMenu";
sdkmenu.lpszClassName ="MenuappWClass";
sdkmenu.hIconSm =LoadIcon(hInstance,"SmallIcon");

RegisterClassEx(&sdkmenu);//在系统中注册

2、HMENU hMenu, // menu handle or child identifier
是窗口的菜单句柄;
3、HINSTANCE hInstance, // handle to application instance
你的应用程序句柄
4、 LPVOID lpParam // window-creation data
创建窗口的参数
dingkl 2002-07-29
  • 打赏
  • 举报
回复
第一个参数是你在前面注册的窗口类的名字
  • 打赏
  • 举报
回复
第一个是窗口类
你需要先定义一个窗口类WNDCLASS wndClass;
然后进行设置,
然后调用RegisterClass(&wndClass);注册窗口类。
第二格是窗口的名字
第三个是模式,比如说WS_CHILD,WS_POPUPWINDOW等
你还是看一下msdn吧。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧