1.在用VC++6.0创建窗口时,我的步骤是这样的(跟着孙鑫教程里学的)。1,新建一个工程win32 application
这个窗口时用Win32函数写的,具体过程是1,初始化一个窗口类。2,注册窗口类并创建窗口。3,显示和更新窗口。4,消息循环。具体代码可查找Win32编程。
手头上只有VS2013,没有VS2010。就给你讲讲简单的C++空项目的建立吧! 1.建立一个C++项目: 文件 -> 新建 -> 项目 -> 左边选择 Visual C++ -> 右边选择 空项目 -> 输入项目名 2.向项目中添加C++源文件: 右击解决方案资源管理器中的源文件 -> 添...(火星人)9755
#include <windows.h>#pragma comment(lib,"user32.lib")
#pragma comment(lib,"Gdi32.lib")
LRESULT CALLBACK WndProc(
HWND hwnd
,UINT message
,WPARAM wParam
,LPARAM lParam
);
HWND hWnd;//窗口句柄,定义为全局
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
MSG msg;
WNDCLASS wnd;
wnd.style = 0;
wnd.cbClsExtra = 0;//应该0
wnd.cbWndExtra = 0;//均为0
wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//背景填充颜色
wnd.hCursor = LoadCursor(NULL,IDC_ARROW);//光标,使用默认光标参数一为NULL
wnd.hIcon = LoadIcon(NULL,IDI_EXCLAMATION);//图标
wnd.hInstance = hInstance;//句柄
wnd.lpfnWndProc = WndProc;//消息处理
wnd.lpszClassName = "XP";//类名
wnd.lpszMenuName = NULL;//菜单名
RegisterClass(&wnd);//注册
hWnd = CreateWindow("XP","窗口",WS_OVERLAPPEDWINDOW,100,100,500,500,NULL,NULL,hInstance,NULL);//创建窗口,参考MSDN
ShowWindow(hWnd,SW_SHOWNORMAL);//显示
UpdateWindow(hWnd);//更新窗口
while(GetMessage(&msg,NULL,0,0))
{//消息循环
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
/*LRESULT CALLBACK WindowProc(HWND hwhd,uMsg,WPARAM wParam,LPARAM IParam)
消息响应函数定义
hwnd:指向窗口的句柄。
uMsg:指定消息类型。
wParam:消息
IParam:消息*/
LRESULT CALLBACK WndProc(
HWND hwnd
,UINT message
,WPARAM wParam
,LPARAM lParam
)
{
switch(message)
{
case WM_CLOSE://关闭
if(MessageBox(hWnd,"是否退出","询问",MB_YESNO)==IDYES)//使用全局消息框
PostQuitMessage(0);//将WM_QUIT加入消息队列中
break;
case WM_KEYDOWN://键盘按下,一种消息类型,MFC会更全
switch(wParam)
{
case VK_UP:
MessageBox(hWnd,"上","按下",MB_OK);
case VK_RBUTTON:
MessageBox(hWnd,"鼠标右键","按下",MB_OK);
break;
case VK_MENU:
MessageBox(hWnd,"Alt","按下",MB_OK);
break;
case VK_END:
MessageBox(hWnd,"END","按下",MB_OK);
break;
case VK_LEFT:
MessageBox(hWnd,"左","按下",MB_OK);
break;
case VK_RIGHT:
MessageBox(hWnd,"右","按下",MB_OK);
break;
case VK_DOWN:
MessageBox(hWnd,"下","按下",MB_OK);
break;
case VK_CONTROL:
MessageBox(hWnd,"Ctrl","按下",MB_OK);
break;
case VK_ESCAPE:
MessageBox(hWnd,"Esc","按下",MB_OK);
// PostQuitMessage(0);
break;
case VK_SHIFT:
MessageBox(hWnd,"SHIFT","按下",MB_OK);
break;
default: break;
}
default:
return DefWindowProc(hwnd,message,wParam,lParam);//缺省处理
}
return(0);
}
没有外部定义.......
MFC是标准的win32 Application文件
DLL为动态链接库Library,
连接文件
可以使用类进行封装窗口创建
MFC也是如此
可以加入afxwin.h头文件 对mfc库的调用
C++的半面向对象的思想mfc对基本数据也有所封装,
若果没有C基础,对其不熟悉,可能会进展不顺
对于一些函数传参不了,可以参考MSDN
问题2,源代码是需要工作空间支持的。Win32 Application即(Win32 API)。所谓的这个工程,是把许多源代码组合在一起而已。编译时,将所有文件编译成相对应的*.o,组建的时候,将它们连接起来,再与系统库(如MFC)连接,组合成可执行文件
问题三
*.opt应该说是临时控件,对工程的修改都保存在这里,除非你保存文件。
plg是编译连接时产生的“日志”
obj就是编译成的目标文件
pdb、pch是编译时需要的文件
第一个问题主要是:关闭窗口跟结束应用程序是有区别的
建议在看孙鑫的视频的时候结合一些书来看看,以前也是这样过来的。坚持,慢慢就会好地。
一起来学习。
如何在VC++6.0中实现三叉切分窗口与多视图
静态切分窗口最多支持16行?16列的窗格,而且不同的窗格往往使用不同的视图类。本文主要阐述静态切分窗口。 二、实例 以单文档SDI应用程序为例,在框架客户区实现三叉切分窗口,且每个窗格使用不同的视图 。 实现步骤: 1、 利用VC++6.0 的AppWizard创建一个单文档SDI应用程序,项目名为Test。 2、 ...
用MFC怎么创建一个全屏窗口
全屏显示是一些应用软件程序必不可少的功能。比如在用VC++编辑工程源文件或编辑对话框等资源时,选择菜单“ViewFull Screen”,即可进入全屏显示状态,按“Esc”键后会退出全屏显示状态。在VC++6.0中我们用AppWizard按默认方式生成单文档界面的应用程序框架。下面将先讨论点击菜单项“ViewFull Screen”...
VC++6.0编写exe。windows窗口exe
1.画窗体 2.编写按钮单击事件,使其可以读取一个文件的内容,保存在CString类型的变量里就行(读取的方法网上有很多,百度一下就出来了)3.可以给文本框绑定一个Value的变量,类型应该是CString的,然后让上面的值赋给这个变量 4.或者是直接设置那个文本框的内容,用GetDlgItem()->SetWindowText()
在VC++6.0中,怎么实现:按下一个窗口中的button,弹出另一个可自定义的...
打开资源视图到Dialog目录下选择你自定义的对话框 然后双击提示为该对话框创建一个新类 填上CPupDlg 这样就为对话框关联上新类了 下一步 在你那个按钮消息处理函数中加上如下代码 CPupDlg pupDlg; pupDlg.DoModal();即可显示对话框 别忘了加PupDlg.h头文件 ...
如何在每次在新窗口中打开VC6.0
VC++6.0的默认界面中是打开了output窗口的,也就是软件最下面的那个长长的窗口,该窗口的下面有一系列的标签页,编译链接出错都会显示在“Build”标签页中。你如果看不到该窗口,可以在VC的标题栏或者菜单栏上单击右键,将第一项“Output”单击,就打开了该窗口。在Output窗口中,编译链接的错误都会被...
在VC++6.0中如何创建窗口?
vc中只有mfc项目才支持可视化开发。Windows Application是不支持可视化的,甚至不用c++只用c就可以开发,所以无法可视化。
VC++6.0中如何让窗口总在前面?
当你建立了一个基本对话框应用程序时,设置对话框置顶,可以在初始化对话框函数或者在消息响应函数里添加以下语句 设置置顶:SetWindowPos(&wndTopMost,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE);取消置顶:SetWindowPos(&wndNoTopMost,0,0,0,0, SWP_NOMOVE | SWP_NOSIZE);...
c++用MFC创建窗口后,那些设置窗口的工具栏不见了。请问要怎么调出来...
右键在VC6.0上面工具栏处单击,会弹出一个菜单选项 勾选controls这个选项就好了 如果你是中文VC6.0,那就翻译过来勾选对应的选项就好了 如下图:
vc++6.0 新建win32工程后,下一步做哪里?
是啊。下面就是建立的一个Win32 Application程序,自己创建主窗口。如果用MFC建立的话,直接就帮你生成主窗口 第一步,创建窗口类 第二步,注册窗口类 第三步,创建窗口 第四步,接收,分发消息 第五步,处理消息 新建文件A.c或A.cpp include <windows.h> \/\/声明窗口消息处理函数 LRESULT CALLBACK...
如何用VC++6.0在窗口里显示一个位图?请高手指点
在vc++中如何实现显示一个位图 基本步骤如下:1.打开vc++6.0,选择“文件”->“新建",打开新建对话框,选择“工程”->MFC AppWizard [exe]->选择保存路径及文件名ddd,选择单文档->完成。2.打开窗口左下角选择Re..,在Dialog上右击,选择插入->Bitmap->引入->引入位图。3.选择Cl..,展开CDddd...