1.windows输出,以对话框的方式。

int MessageBox( HWND hWnd, // handle to owner window

         LPCTSTR lpText, // text in message box

        LPCTSTR lpCaption, // message box title

        UINT uType // message box style);

UINT uType 表示消息盒子的款式,返回值表示选择了什么按键。

2.添加资源脚本,“文件”-》“新建”-》“file”

对应汉语版和英文版的Vc

资源脚本名字一般和工程名相同

3.右键插入资源

里面有各种资源类型Icon表示软件运行图标,编辑图标后直接编译即可。当有多个图标资源时,软件默认使用最小ID编号的图标

4.在资源中加入对话框后,编译但仍然没有显示,因为winMain中没有包含

5.导入图标,不用自己画了。是.ico格式

、、、、、、

6.DialogMox(IDD_DIALOG1,);调用对话框

7.消息回调函数:当在对话框中有任何点击按钮、输入内容等,都会调用回调函数。

8.使用OutputDebugString()在Debug窗口显示调试信息。

VOID OutputDebugString( LPCTSTR lpOutputString // string to be displayed

);

char s[256];
sprintf(s,"uMsg =%d \n",uMsg);
OutputDebugString(s);

9.从对话框中中的控件中获取

UINT GetDlgItemInt(

HWND hDlg, // handle to dialog box--对话框句柄

int nIDDlgItem, // control identifier--具体控件id

BOOL*lpTranslated, // success state--一般都成功,NULL

BOOL bSigned // signed or unsigned value--有无符号TRUE(有符号),FALSE(无符号)

);

------------------------

将数值打印到指定窗口的指定控件

BOOL SetDlgItemInt(

HWND hDlg, // handle to dialog box--窗口句柄

int nIDDlgItem, // control identifier--控件ID

UINT uValue, // value to set--设置的值

BOOL bSigned // signed or unsigned indicator--有无符号

);

10.INT_PTR DialogBox(  //winMain中加载资源

HINSTANCE hInstance, // handle to module---入参为hInstance,winmain的第一个入参,进程句柄

LPCTSTR lpTemplate, // dialog box template---(LPCSTR)DLGID,要将DLGID强制转换为LPCSTR类型--窗口ID关联到回调函数中的句柄(DLGID<->)

HWND hWndParent, // handle to owner window---NULL,不依附于某个窗口

DLGPROC lpDialogFunc // dialog box procedure---回调函数,当对应的DLGID有任何操作都会调用此函数,类似中断

);

11.//定义一个回调函数,函数名自定

BOOL CALLBACK funProc1(
HWND hwndDlg, // handle to dialog box--窗口句柄
UINT uMsg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)

12.关闭一个窗口 

BOOL EndDialog(

HWND hDlg, // handle to dialog box--要关闭窗口的句柄

INT_PTR nResult // value to return--返回值

);

13.调试时,局部变量要加断点才能看到调试过程中的值,不然程序快速飞过,啥都看不见

14.不使用控制台,改用对话框时,要用回调函数,消息机制。用户在界面任何操作,对应一种事件,调用消息回调函数,根据消息相关参数做响应的事。

15.主函数

int APIENTRY WinMain(

HINSTANCE hInstance,//资源总管
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,  //传入参,使用打开命令+ 程序名+参数
int nCmdShow  //用来设置程序是明着启动还是暗着启动,缺省为1

)

VC++函数(win32_exe)的更多相关文章

  1. VC++函数只被调用一次

    如何保证某个函数只被调用一次   一个函数caller会在其内部调用另外一个函数callee,现在的情况是,caller可能会在多个地方被多次调用,而你希望callee只在第一次被调用时被调用一次.一 ...

  2. memset()函数

    memset需要的头文件 <memory.h> or <string.h> memset <wchar.h> wmemset  函数介绍 void *memset( ...

  3. C/C++实践笔记 004

    转义字符 #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h> void main1() { c ...

  4. VB6.0调用DLL

    目录 第1章 VB6.0调用DLL    1 1 VC++编写DLL    1 1.1 使用__stdcall    1 1.2 使用 .DEF 文件    1 2 简单数据类型    2 2.1 传 ...

  5. c语言memset详解

    void *memset(void *s, int ch, size_t n);(int ch可以是char或int) 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的 ...

  6. Qt测算程序运行时间

    #include <QDebug> #include <QTime> #include <sys/time.h> #include <windows.h> ...

  7. UVA 11134 Fabled Rooks(贪心的妙用+memset误用警示)

    题目链接: https://cn.vjudge.net/problem/UVA-11134 /* 问题 输入棋盘的规模和车的数量n(1=<n<=5000),接着输入n辆车的所能在的矩阵的范 ...

  8. 【Qt开发】Qt测试计算时间

    方法1 利用QTime,其精度为ms级 </pre><pre code_snippet_id="1852215" snippet_file_name=" ...

  9. VC++时间函数总结

    目录 第1章基本概念    1 1.1 基本概念    1 1.2 时间表示法    2 第2章 Win32 API    3 2.1 获取    3 2.1.1 时间间隔    3 2.1.2 时刻 ...

随机推荐

  1. php时间戳与时间转换

    PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4) 所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是 ...

  2. mysql foreign key 外键

    ALTER TABLE `fd_rel_customer_doctor` ADD CONSTRAINT `FK_fd_rel_customer_doctor_1` FOREIGN KEY (`CUST ...

  3. C++第三课(2013.10.03 )

    函数的默认参数: 1.函数的默认参数必须放在形参的右边而且在默认形参的右边不能出现没有无默认参数的形参 2.如果函数的声明给出了默认的参数,那么函数的实现就不能定义默认参 3.声明成员函数时没有给出默 ...

  4. QQ在线客服

    css代码: .float0831 { POSITION: fixed; TOP: 180px; RIGHT: 1px; _position: absolute } .float0831 A { CO ...

  5. iOS开发之常用第三方框架(下载地址,使用方法,总结)

    iOS开发之常用第三方框架(下载地址,使用方法,总结) 说句实话,自学了这么久iOS,如果说我不知道的但是又基本上都摸遍了iOS相关知识,但是每次做项目的时候,遇到难一点的地方或者没试过的东西就闷了. ...

  6. commons-logging log4j的联系区别

    1.Apache通用日志接口(commons-logging.jar)介绍 Apache Commons包中的一个,包含了日志功能,必须使用的jar包.这个包本身包含了一个Simple Logger, ...

  7. Greatest common divisor(gcd)

    欧几里得算法求最大公约数 If A = 0 then GCD(A,B)=B, since the GCD(0,B)=B, and we can stop. If B = 0 then GCD(A,B) ...

  8. [SQL注入1]From SQL injection to Shell

    第一次写,希望大神们多指点. 对于刚接触WEB渗透测试这块的朋友们,很希望能有个平台可以练习.网络上有不少,十大渗透测试演练系统,我这里推荐一个在10以外,适合初学者一步一步进步的平台PENTESTE ...

  9. (一)一个简单的Web服务器

    万丈高楼平地起,首先我们必须了解 超文本传输协议(HTTP) 以后才能够比较清晰的明白web服务器是怎么回事. 1. 浅析Http协议 HTTP是一种协议,允许web服务器和浏览器通过互联网进行来发送 ...

  10. poj3667---Hotel 线段树区间合并,区间更新

    题意:有N个房间,M次操作.有两种操作(1)"1 a",表示找到连续的长度为a的空房间,如果有多解,优先左边的,即表示入住.(2)"2 b len",把起点为b ...