用vc6生成win32对话框程序的简单方法

自己动手让Visual Studio的Win32向导支持生成对话框程序 Visual Studio的MFC向导可以生成基于对话框的程序,而win32向导却不支持,是不是很不给力呢?虽然VAX可以直接插入对话框的代码段,但还是没有直接生成来得爽,下面就动手来改造吧。 本文所做的修改仅在自己的VS里测试通过,大家修改之前请备份原文件。 那我们需要改什么呢?看图吧。 首先,找到"VS安装目录\VC\VCWizards\AppWiz\Generic\ 阅读详情

在project选择 win32 Application,然后选择自动生成一个“hello,world”程序,就可以的到一个普通窗口的对话框,而且带一个about对话框。
接着,删掉WinMain里的大部分代码,添加一个CreateDialog函数调用,如下:
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 MSG msg;
 // 创建主对话框,用CreateDialog创建的是非模态对话框,而DialogBox则是模态对话框,自己参考MSDN
HWND hMain = NULL;
 hMain = CreateDialog( hInstance, (LPCTSTR)( IDD_ABOUTBOX ), NULL, (DLGPROC)About );
 ::SetWindowPos( hMain, HWND_TOP, 250,200, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW);
// ShowWindow( hMain, SW_SHOW) // 有了上边一句,这个就不用啦
 ::UpdateWindow( hMain );

 if( NULL == hMain )
 {
  ::MessageBox( NULL, "CreateWindow error", "error", MB_OK );
  return -1;
 }
 // Main message loop:
 while (GetMessage(&msg, NULL, 0, 0))
 {
  if( !::IsDialogMessage( hMain, &msg ) )
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }

 return msg.wParam;
}
这样,就运行的时候就可以看到一个对话框了,但是有个问题,点击关闭对话框的时候,对话框并没有真正关闭,还需要修改一个小地方,在消息处理的回调函数About里,需要加上这个:
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
 switch (message)
 {
  case WM_INITDIALOG:
    return TRUE;

  case WM_COMMAND:
   if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
   {
//    EndDialog(hDlg, LOWORD(wParam)); //这个是在用DialogBox创建的模态对话框才需要用到,用了也没关系
    PostQuitMessage( 0 ); // 这样才会完全退出
    return TRUE;
   }
   break;
  case WM_DESTROY:
   PostQuitMessage(0);
 }
    return FALSE;
}
最后,如果对话框模版里用到了不一般的控件(比如进度条),还需要
1 引用头文件:#include <commctrl.h>
2 并链接comctl32.lib,
3 在WinMain中创建对话框前调用InitCommonControls();
最后我本来想在对话框里加个进度条的,但是,不知道到如何用win32Api来控制它,有点郁闷,有知道的希望能够留言,谢谢

使用资源文件绘制Win32对话框 以前一直以为Win32不能拖控件,现在才知道原来是可以的。 本文演示使用VC6创建一个基于对话框的Win32程序,界面使用资源文件绘制。 创建一个Win32应用程序 创建对话框资源文件 点击 File -> New -> Resource Script 创建了资源文件后,还要手动将 resource.h 添加到项目中 创建对话框 选择资源文件,右键如图位置 选择 Dialog 然后点 New 然后就可以拖控件了,本例实现一个登录界面,效果如下图 双击可以设置控件的ID和显示内容 阅读详情

相关推荐

VC6.0下直接用DDK编译驱动程序的方法

 csdn里只有提问和回答,个人觉得只有这个还不够,还需要人来分享知识,所以今天为了推广自己写的一个VC6小插件,顺便分享一下用VC6直接编译驱动程序的心得给需要的人。全文如下: 《VC6编译驱动的方法(含32和64位)》 ======文章开始,转载请注明:潘氏软件 - http://panshisoft.cn/dirchanger.asp ======= VC6只是一个IDE,可以方便的调用编译

zyip的专栏 1835

VC 获取控制台窗口的句柄(hWnd)

测试环境:VC++ 6.0 在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句

熊小屁的专栏 1753

win32模式下窗口界面vc6

win32模式下窗口界面实现,使用的是vc6,在vs上通用!!!!!!!!!!!

win32application与win32 console application区别何在

<br />刚刚在新建project的时候,选择了 Win32 Application,编译时出现下面的错误: <br /><br />很奇怪的说,一个很短的程序,不可能出错的。后来才知道了是因为Win32 Application和Win32 Console Application选项的问题。搜索到了下面的资料,转载在这里: <br />                                                  <br />Win32 Application和Win32 Consol

马大叔的工作日记 1万+

Win32-app VC6-飞机大战

打飞机游戏链表作为一种基础的数据结构,在计算机科学中广泛应用。比如打飞机游戏,要求学生熟练地掌握动态链表的使用,编写一款简化的打飞机游戏。该游戏具有如下的基本功能:飞机的种类和位置能随机产生;增加飞机的子弹;子弹击中飞机,则飞机消亡。

WIN32 API函数大全(VC++6.0)

WIN32 API函数大全(VC++6.0)API函数大全 VC++6.0中函数功能的介绍

Visual C++ 6.0 开发win32 窗口程序 -- 学习(1)

由于要开发MapGIS程序,版本67对应的SDK通常用VC6.0来开发,因此索性重新学习一下VC6.0开发C++程序,MFC什么的都挺老的了,但还真没学过,也可以试一下。 首先就是先安装VC6.0 在WINDOWS 7下有一点兼容性问题,优快云博客有很多解决方案,搜索一下即可解决。编译是没啥问题的。 其次就是学习windows api 的helloworld程序了! 找的教材是《VC++面向对象与可视化程序设计》第二版和第四版,黄维通编著。这是一本经典的老教材,估计很多院校学生都学过。

zjjsd195的专栏 2677

VC++实现动态创建对话框

VC++实现动态创建对话框,提供学习用不错的源码!

Visual C++ 6.0 开发win32 窗口程序 -- 学习(4)

《在窗体上输出文本》 上一节,我们讲述了窗体绘图的问题,现在接着学习窗体输出文本信息。 首先还是主函数,其实还是四部曲,我们出于对程序结构理解的规整,可写在程序最前面,这部分都是一样的,我们输出文本其实改动只在窗口函数里,其他地方都不变。首先给出主函数: #include<windows.h> #include<stdlib.h> #include<string.h> LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage

zjjsd195的专栏 690

vc2012中文版创建win32基于对话框应用程序向导

根据http://www.cnblogs.com/hwangbae/archive/2012/07/26/2610469.html《自己动手让Visual Studio的Win32向导支持生成对话框程序》制作的vs2012中文版创建win32基于对话框的应用程序向导(上述该文章提供的是英文版向导)。 使用方法: 将Application.rar解压得到的文件夹替换D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\VCWizards\AppWiz\Generic\中的Application文件夹即可。

芯片封装、功率密度提升及热管理系统优化三个维度分析高功率芯片散热技术挑战

本文探讨高功率芯片散热技术挑战与创新。随着新能源汽车MOSFET用量增至400颗/车,文章聚焦封装技术创新(双面散热、集成模块)、功率密度提升(SGT-MOSFET优化)和热管理系统协同优化三大方向。通过热仿真案例(如CPO散热优化)展示温升改善方案,强调需协同器件级设计、系统级仿真与先进封装技术(混合键合/玻璃基板)来解决高密度互连与散热矛盾,为功率密度跃升提供技术支撑。

莱歌数字的博客 1473

使用VC6将32位程序编译成为64位程序

看了好多好多资料,自己也太过依赖现有的资料,按部就班不是真理不是真理!!! 主要内容是参照http://www.vckbase.com/document/viewdoc/?id=1857的,下面把自己做的过程简要描述如下: 创建64位环境             网上资料很多都以SDK2001少数以2003为例,有的说SDK2003是最后支持VC6的,汗,也不知道内在什么原因,就按部

zqf_office的专栏 3926

手把手教你用ADS优化肖特基二极管检波电路(附RC参数避坑指南)

本文详细介绍了如何使用ADS软件优化肖特基二极管检波电路,包括RC参数设置、常见失真问题分析与解决方案。通过实战案例和参数优化技巧,帮助射频工程师避免设计陷阱,提升电路性能。特别附有RC参数避坑指南,适用于调幅解调、功率检测等应用场景。

m2n3o4p5的博客 198

VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序)

VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序) Visual C++ 6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大。VC6.0是一款革命性的产品,非常经典,至今仍然有很多企业和个人在使用,很多高校也将VC6.0作为C语言的教学基础,作为上机实验的工具。本教程中的代码,也都是在VC6.0下运行通过。 VC6.0 确实有点老了,如果不是学校要求或者项目需要,建议使用 Visual Studio 代替,这里之所以讲解 VC6.0,是为了照

ccc369639963的博客 3万+

使用STM输出互补SPWM波(三相各差120°)

使用STM32输出SPWM波形(三相各差120°)

hello011102的博客 7373

Linux环境下OpenSSH升级到 OpenSSH_9.8p1(内置保姆级教程并包含openssl升级过程)

2024年7月1日接到安全部门同事邮件通知,目前生产环境及测试环境服务器Openssh存在远程代码执行漏洞(CVE-2024-6387),漏洞等级高,且攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1

菜鸟运维升级之路 2万+

VC6.0(Visual C++ 6.0) 建立一个简单的C语言工程

VC6.0(Visual C++ 6.0) 建立一个简单的C语言工程 1、新建文件夹: 首先需要新建一个文件夹,用来存放C语言工程,我们在这里新建的文件夹名为example。如下图所示。 2、创建工程: 首先打开VC6.0软件,选择右上角的文件--->新建。 在打开的新建窗口中,我们首先选择“win32 console application”(win32 控制台程序),然后填写工程名称,这里填写的是example。再然后,在位置选项中选择工程要存放的地址。这里选择的是最初新建..

qq_38326581的博客 2万+

从服装打版到激光切割:二维异形件排版算法在实际生产中的避坑指南

本文深入探讨二维异形件排版算法在服装、家具等行业的实际应用,对比NFP和重叠移除两种核心策略的优缺点,并提供算法落地的五大实战陷阱与解决方案。通过案例分析和技术要点解析,帮助生产管理者提升材料利用率5%-15%,优化生产效率。

weixin_28717431的博客 416

【win32】对于对话框程序的优化与为程序创建图标

本文是继上一篇《【mfc】Helloworld》(点击打开链接)所写出来的对话框进行了的优化, 这次要把这个对话框程序做得更加好。 一、基本目标 1、为这个对话框程序加上自己的图标,如下图: 2、不再是仅有一个让用户点击的对话框了,而且在用户点击确定与取消按钮之后能够进行判断 比如,用户点击了确定,则弹出用户点击了确定的提示 如果用户点击了取消,则弹出用户点击取消的提示

编程记录,亲测有效 2721

Starlink第三代终端和第二代终端的差异性有哪些?

starlink第三代终端和第二代终端的额差异

chen2jiang3的博客 2924

Agentic-Desktop-Pet:构建本地智能桌面助手的架构与实践

智能体(Agent)作为人工智能领域的重要概念,是指能够感知环境、自主决策并执行任务以实现目标的软件实体。其核心原理在于结合感知、决策与执行模块,通过大语言模型(LLM)等推理引擎处理信息并驱动行动。这种架构的技术价值在于将AI的认知能力与具体的操作系统环境深度融合,从而创造出能主动理解用户上下文、提供个性化服务的智能伙伴。在应用场景上,智能体技术正从云端对话机器人向本地化、场景化的桌面助手演进,旨在解决传统自动化工具缺乏智能、而纯聊天机器人脱离操作环境的问题。本文探讨的Agentic-Desktop-Pe

weixin_27210125的博客 621

使用VC6调试器源码级调试win32汇编程序

                                  使用VC6调试器源码级调试win32汇编程序                                                                                                                                                

碧海倾心 2175

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3925

在VC 6.0里Win32 Application和Win32 console Application的区别

在VC 6.0里Win32 Application和Win32 console Application的区别 1、基本定位区别         Win32  Application和Win32  Console  Application 都是工作在32位Windows环境的程序。其中,Win32  Application 是标准 windows程序,完全拥有windows的特性,也即我们常说的

cruel的专栏 753

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

关于VC预定义常量_WIN32,WIN32,_WIN64

VC2012 下写 Windows 程序时,有时需要判断编译环境。在之前的文章《判断程序是否运行在 Windows x64 系统下。》里说过如何在运行期间判断系统环境,但在编译时如何判断?   MSDN 里说,VC 有 3 个预处理常量,分别是 _WIN32,_WIN64,WIN32。这三个常量如何使用呢?看起来简单,其实是很困惑的。   在 Win32 配置下

hujing_Liu 5455

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

简单VC对话框编程

基本步骤 1.点击文件--新建--项目 2. 选择Win32项目,填入名称和选择路径 3.在应用程序向导窗口中点击”下一步“ 4.在应用程序设置窗口中勾选”空项目“,再点击“完成” 5.在左边的解决方案资源管理器窗口中,右击“源文件”,选择“添加”-“新建项” 6.在“添加新项”窗口中,先选择C++文件(.cpp),再写入源文件名,点击“添加”。这样,源文件就添加...

weixin_34356138的博客 346

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 链接错误"unresolved external symbol _main"的解决
下一篇: mbstowcs()与MultiByteToWideChar()的一点区别
devonzzb
博客等级 码龄25年 7粉丝 20原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值