请问如何新建一个windows窗口。小弟刚刚接触vc

vc_human 2003-12-08 10:31:17
rt
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
afantict 2003-12-08
  • 打赏
  • 举报
回复
在resource view里面
右点dialog
选insert dialog
lye 2003-12-08
  • 打赏
  • 举报
回复
vc中窗口有多种,建议先参考一下相关资料。
eastred 2003-12-08
  • 打赏
  • 举报
回复
#include <windows.h>

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
WNDCLASSEX wndclass; // 用于申明窗口类的结构
HWND hWnd; // 程序的窗口句柄
MSG msg; // 接收窗口消息的结构

// 为创建窗口类填写类结构
wndclass.cbSize = sizeof (wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = "TestWindowClass";
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
// 创建窗口类
if (!RegisterClassEx(&wndclass)) return 0;

// 用上面创建的类创建新窗口
hWnd = CreateWindowEx(0, //扩展窗口风格,0为默认
"TestWindowClass", //创建窗口所用的类
"First Program", //窗口名称看运行结果就知道了
WS_OVERLAPPEDWINDOW, //窗口风格OVERLAPPED风格(和记事本一样的),
CW_USEDEFAULT, //这四个参数定义了窗口的位置和大小,现为默认
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL, //父窗口句柄,程序没有,所以设为NULL
NULL, //菜单句柄没有为NULL
hInstance, //WinMain传递的实例句柄
NULL); //创建参数,用于给程序传递数据,程序没用到
if (!hWnd) return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

// 下面就是消息循环
while (GetMessage(&msg,NULL,0,0)) // 在消息队列中取消息直到收到退出消息QUIT_MESSAGE
{
TranslateMessage(&msg); // 翻译虚拟击键消息
DispatchMessage(&msg); // 将消息投递到对应的窗口
}
return msg.wParam; // 如果没有特殊要求,这里也可以是0代表成功执行
}

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch (message) // 接受消息循环的函数,采用switch处理各种消息
{
case WM_CLOSE: // 窗口关闭前的消息(比如用户点了关闭按钮)
break; // 此时Windows还根本没有对窗口做任何事,可以用MessageBox来测试
case WM_DESTROY: // 窗口关闭以后的消息,此时Windows已经毁坏了窗口
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam); // 默认消息处理
}
vc_human 2003-12-08
  • 打赏
  • 举报
回复
一般显示的窗口。类似与pb中的window。好像是的把
MooseWOler 2003-12-08
  • 打赏
  • 举报
回复
标准过程(大概)是:
1.填写窗口的属性
2.注册一个窗口(register a window)
3.显示(show)

afantict 2003-12-08
  • 打赏
  • 举报
回复
windows窗口?
对话框吗?

16,551

社区成员

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

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

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