社区
界面
帖子详情
学习VC系列--如何创建一个窗体《100分》
yjdn
2006-11-26 04:52:01
1.请给出一个完整的,最简单的创建窗体的代码。
2.及回答我对代码中不明白的部分提出的问题
分数按劳分配。
...全文
176
9
打赏
收藏
学习VC系列--如何创建一个窗体《100分》
1.请给出一个完整的,最简单的创建窗体的代码。 2.及回答我对代码中不明白的部分提出的问题 分数按劳分配。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjdn
2006-11-26
打赏
举报
回复
thank you
kugou123
2006-11-26
打赏
举报
回复
1.char* 是一个指针?相当于字符串类型么?和Tchar有什么差别?
char * 是字符串指针类型。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。
2.TEXT() 是指什么意思?把字符串变成TCHAR类型的数组?
TEXT()是一个宏,用来在编译时候,决定字符是采用UNICODE方式还是ASCII方式。这个和工程设置有关,看是定义了_UNICODE还是_MBCS
3.&wndclass 指的是什么意思?
RegisterClass (&wndclass) 这个函数的参数是指针类型,所以要求传入的是地址,&是取地址操作符。就是取&wndclass在内存中的地址了。
问题 4. 和 5
这是预编译头文件,一般是系统加入需要引用的头文件。
关于stdafx.h的作用:
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
为避免这种浪费,AppWizard和Visual C++编译程序一起进行工作,如下所示:
AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可以随被选择的选项而变化。
AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
当Visual C++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。 (扩展名pch表示预编译头文件。)
当Visual C++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。 Visual C++不再分析Windows include文件,除非你又编缉了stdafx.cpp或stdafx.h。
6.还有basetsd.h
The Basetsd.h header file defines the new data types needed for writing applications that run on both 32- and 64-bit Windows.
yjdn
2006-11-26
打赏
举报
回复
有没有关于VC项目中各个文件的相应作用的资料?
请给一份。
解决上面问题后马上结帖
yjdn
2006-11-26
打赏
举报
回复
4.在Source Files ->StdAfx.cpp,这个文件中只有一行代码,这个文件作用是什么?
5.在Header Files->StdAfx.h,这个文件的作用又是什么?
6.还有basetsd.h
yjdn
2006-11-26
打赏
举报
回复
再问一些在google上不好搜出来的东西
1.char* 是一个指针?相当于字符串类型么?和Tchar有什么差别?
2.TEXT() 是指什么意思?把字符串变成TCHAR类型的数组?
3.&wndclass 指的是什么意思?
kugou123
2006-11-26
打赏
举报
回复
建立成功后,把上面的代码复制过去。
注意:第二行 #include <windows.h>可以去掉了,因为在stdafx.h中以及包含过了。
kugou123
2006-11-26
打赏
举报
回复
你建立的工程类型不对。
建立Win32 Application 点ok,选“a simple win32 application”
yjdn
2006-11-26
打赏
举报
回复
谢谢楼上
是不是一定要新建的是win32项目?我新建的是控制台项目,把你的代码帖上去后,
报下面两个错误
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test.exe : fatal error LNK1120: 1 unresolved externals
kugou123
2006-11-26
打赏
举报
回复
#include "stdafx.h"
#include <windows.h>
//一、消息处理函数
//参数:窗口句柄,消息,消息参数,消息参数
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
//处理感兴趣的消息
switch (message)
{
case WM_DESTROY:
//当用户关闭窗口,窗口销毁,程序需结束,发退出消息,以退出消息循环
PostQuitMessage (0) ;
return 0 ;
}
//其他消息交给由系统提供的缺省处理函数
return ::DefWindowProc (hwnd, message, wParam, lParam) ;
}
//二、应用程序主函数
//参数:实例句柄、前一个实例的句柄、命令行参数、窗口显示方式
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
//1.注册窗口类
static TCHAR szAppName[] = TEXT ("HelloWin") ; //窗口类名称
//定制"窗口类"结构
WNDCLASS 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 = szAppName; //类名称
//注册
if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("RegisterClass Fail!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}
//建立窗口
HWND hwnd ;
hwnd = CreateWindow (szAppName, //窗口类名称
TEXT ("The Hello Program"), //窗口标题
WS_OVERLAPPEDWINDOW, //窗口风格
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance, //实例句柄
NULL);
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
//消息循环
MSG msg ;
while (GetMessage (&msg, NULL, 0, 0)) //从消息队列中取消息
{
TranslateMessage (&msg) ; //转换消息
DispatchMessage (&msg) ; //派发消息
}
return msg.wParam ;
}
HTML
学习
笔记——用HTML记录
学习
过程1-start
这个
系列
是HTML的
学习
笔记,会以一个HTML网页的形式,记录HTML的知识。文章的主体是代码,代码大家可以复制去运行或者研究,有谬误之处多多指正。1-start介绍了HTML文档的基本结构、常用标签。
Web 前端
学习
笔记之 HTML 入门(1)
HTML 简介什么是 HTMLHTML 是一种使用标签来描述页面的内容和结构的语言。 HTML 指的是超文本标记语言(Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 的发展史HTML 的产生 1991年,Tim Be
HTML
学习
笔记(1)——注释标签 标题标签 段落标签
注释标签 用于在 HTML 插入注释。 HTML 注释标签 您能够通过如下语法向 HTML 源代码添加注释: 实例 注释:在开始标签中有一个惊叹号,但是结束标签中没有。 浏览器不会显示注释,但是能够帮助记录您的 HTML 文档。 您可以利用注释在 HTML 中放置通知和提醒信息: 实例
这是一个段落。
亲自试一试 注释对于 HTML 纠错也大有帮助,因为您可
HTML
学习
笔记#1
HTML 元素 元素由3部
分
组成:一个开始标记、内容和一个结束标记。有些元素(例如<img>)有所例外。 元素=开始标记+内容+结束标记 在<html>前要有<!doctype html> 所有的页面都要有一个<html>元素,其中要有<head>和<body>元素。 网页的信息放在<head>元素。 <...
HTML
学习
笔记(1)
VSCode里面 ctrl+/注释html元素:直接书写html名称,不需要<>,按回车即可。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章