- 博客(51)
- 收藏
- 关注
原创 C语言18个经典程序VS2019 源码与展示
C语言必背18个经典程序VS20171、输出9*9口诀。i控制行,j控制列。#include<stdio.h>int main(void){ int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%-2d ", j,i, i * j); } printf("\n"); } return 0;}运行展示2、古典问题:兔子生娃有一对
2021-11-18 15:25:53
8395
15
原创 中年人学C语言Windows程序设计,35 WIN32图形界面音乐播放器实例代码2
中年人学C语言Windows程序设计,35 WIN32图形界面音乐播放器实例代码2通过listbox加入播放列表,点击列表可以切换歌曲新增listbox代码hListBox = CreateWindow(TEXT("LISTBOX"), TEXT("我是个BOX"), WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | LBS_HASSTRINGS | LBS_NOTIFY, CW_USEDEFAULT, CW_USEDEFAULT, C
2021-11-11 17:20:59
1260
原创 中年人学C语言Windows程序设计,35 WIN32图形界面音乐播放器实例代码1
中年人学C语言Windows程序设计,35 WIN32图形界面音乐播放器利用菜单类,滑块类,静态文本框构建一个音乐播放器,界面如下界面如上, 菜单栏有 打开,播放,暂停,停止和退出 5个菜单左侧为实时播放进度,右侧为总进度,下面为播放文件。点击打开文件 选择 音频文件打开文件后,点击播放 开始播放文件拖动进度条可以 改变音乐播放位置。//窗口调用程序LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LP
2021-11-10 17:46:25
1330
原创 中年人学C语言Windows程序设计,34 进度条ProcessBar
中年人学C语言Windows程序设计,34 进度条ProcessBar直接上代码,给进度条建立了一个单独的线程#include <Windows.h>#include <commctrl.h> //InitCommonControls#pragma comment(lib, "comctl32") //InitCommonControls //过程函数的返回值都是LRESULT,类型都是CALLBACKLRESULT CALLBACK WndProc(H
2021-11-09 10:47:23
358
原创 中年人学C语言Windows程序设计,33 计时器SetTimer
第一种方式,消息方式WM_TIMER#define ID_TIMER 1001 switch (message) { case WM_CREATE: SetTimer(hWnd, ID_TIMER, 1000, NULL);//设置计时器,间隔1000毫秒 break; case WM_TIMER://计时器到时时调用 //随机改变背景颜色 SetClassLongPtr
2021-11-08 10:00:43
761
原创 中年人学C语言Windows程序设计,32 WINDOWS图形界面的通信录程序实例
界面展示我们利用前面所学的知识做一个图形界面的通信录,如下所示利用listview做通信录信息的显示然后添加4个按钮,添加,删除,修改和查询点击添加和修改按钮会弹出 dialog窗口,进行编辑输入信息后,点击确定,则完成操作代码实例主要界面代码实例//主窗口回调函数LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ /*回调函数 参数:
2021-11-05 14:04:57
629
原创 中年人学C语言Windows程序设计,31 listview和DialogBox控件的交互综合应用
中年人学C语言Windows程序设计,31 listview和DialogBox控件的综合应用效果展示用listview展示列表数据,创建4个按钮,为添加,删除,修改,查询单击鼠标右键弹出菜单,菜单内有添加,删除,修改功能调用DialogBox进行添加和修改的操作。代码//主窗口回调函数LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ /*回调函数 参
2021-11-02 17:39:44
484
原创 中年人学C语言Windows程序设计,30 DialogBox控件
1、DialogBox函数功能:该宏根据对话框模板资源创建一个模态的对话框。DialogBOX函数直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回控制。该宏使用DialogBoxParam函数。函数原型:int DialogBox(HINSTANCE hlnstance,LPCTSTRIpTemplate,HWND hWndParent,DLGPROC IpDialogFunc);参数: hlnstance:标识一个模块的事例该模块的可执行文件含有对话框模板。
2021-11-01 10:50:06
1208
1
原创 中年人学C语言Windows程序设计,29 模态窗口 和 多窗口
模态窗口什么是模态窗口呢,想必大家都知道模态对话框和非模态对话框吧,模态窗口和模态对话框类似。假设我们需要在按钮单击时创建一个新窗口,如果只是在按钮单击消息里CreateWindow(Ex)一个新窗口,那么这个窗口和之前的窗口是独立的,他们同时接受用户的响应。那么我们想在新窗口完成它的使命之前让之前的窗口拒绝接收响应,就要创建一个“模态窗口”如何创建模态窗口呢,其实模态窗口和真正的窗口一样,只是创建之前将之前的窗口禁用掉,关闭之后恢复先前的窗口而已。如果创建的第二个窗口还是使用原来的窗口类,他和之前的
2021-10-29 15:42:29
460
原创 中年人学C语言Windows程序设计,28 EDIT文本编辑框控件
创建编辑框控件编辑框控件的窗口类名是edit。除了子窗口常用的风格 WS_CHILD、WS_VISIBLE、WS_BORDER 外,edit 控件也有自己的风格,都是以ES开头。风格说明ES_AUTOHSCROLL当输入文字超出横向显示范围时自动滚动(一般必选)。ES_AUTOVSCROLL当输入文字超出纵向显示范围时自动滚动。ES_CENTER文本居中对齐。ES_LEFT文本左对齐(默认)。ES_RIGHT文本右对齐。ES_MULTILIN
2021-10-29 11:01:52
1493
1
原创 第一次使用git上传本地项目到远程仓库-----手把手傻瓜教程
第一次使用git上传本地项目到仓库环境跟工具前提条件:1、操作系统window102、用户已经在码云上注册完成3、软件环境Git-2.31.1-64-bit.exe(重点是安装这个)本地电脑上已经安装了 git客户端,未安装的,具体安装过程可以参考此安装链接:https://blog.youkuaiyun.com/ezreal_tao/article/details/81609883具体操作步骤:1、登录码云,在码云上新建仓库,填写相关内容,创建仓库2、在本地对应盘符下面,新建文件夹,例如:F:\g
2021-10-29 09:44:53
7609
1
原创 中年人学C语言Windows程序设计,27控件ListView
最近学习的是WIN32控件ListView的使用,以下是个人的一点心得。ListView控件,在直观上个人认为就是表格的意思。与表格一样,ListView也有表头,表头有几个项,下面的内容行也有几个项。ListView的创建创建ListView的函数是createWindow()函数,其中窗口类别参数使用 WC_LISTVIEW ,该参数定义在头文件 CommCtrl.h 中。示例代码:HWND hListview;hListview = CreateWindowEx(0, TEXT("Sy
2021-10-28 10:13:06
1281
3
原创 中年人学C语言Windows程序设计,26控件ListBox
ListBox是Windows中的一种控件,一般被当做子窗口使用,Windows中所有子窗口都是通过发送一个通知码到父窗口父窗口通过WM_COMMAND消息接收,并在此消息中处理,并控制子窗口,ListBox自然也不例外,ListBox中有它独有的消息,通知消息,风格,查看MSDN可以看到风格主要有:风格LBS_EXTENDEDSEL 用户可以通过SHIFT + 鼠标或者其他组合键进行多选(只能通过SHIFT + 鼠标或者其他组合键)LBS_HASSTRINGS 指定一个自绘的列表框中包含有字符
2021-10-27 15:04:15
976
原创 中年人学C语言Windows程序设计,25判断单选按钮和复选框是否被选中
在实际开发中,我们往往需要知道哪个按钮被选中了,才能进行下一步的操作。例如对于一组单选按钮,只有一个选项能被选中,最好的办法是将这组按钮作为参数传入一个函数,通过函数返回值判断哪个按钮被选中了。但遗憾的是,在Windows中不能一次性获得一组按钮的选中状态,只能一个一个地遍历。复选框也是如此。可以通过SendMessage函数发送BM_GETCHECK消息来获取按钮的选中状态,返回 BST_CHECKED 表示按钮被选中,返回 BST_UNCHECKED 是未被选中。SendMessage 原型为:
2021-10-27 13:53:43
498
原创 中年人学C语言Windows程序设计,24Windows单选按钮、复选框、分组框控件
单选按钮(Radio Button)和复选框(Check Box)是常见的Windows控件,用于从给出的选项中选择一项或多项,如下图所示:单选按钮是互斥的,只能选择其中一项;而复选框没有限制,可以选择一项或多项。单选按钮和复选框都是一种特殊的按钮,窗口类名称都是button,只不过增加了一些特殊的窗口样式罢了。单选按钮的样式为BS_AUTORADIOBUTTON,复选框的样式为BS_AUTOCHECKBOX。例如://创建一个单选按钮CreateWindow( TEXT("button"
2021-10-26 16:27:14
444
原创 中年人学C语言Windows程序设计,23Windows button控件(按钮控件)
按钮既是标准控件,也是子窗口,窗口类名是button。Button 控件样式以BS开头,常用的有:捕获按钮点击事件当用户点击按钮、菜单、下拉列表框等控件的时候,会产生WM_COMMAND消息。WM_COMMAND 消息会附带控件 ID。我们来回顾一下 CreateWindow 的第9个参数HEMU hMenu,对于每一个控件它的值都是唯一的,在按钮控件中,我们需要根据它来识别到底是哪个按钮被点击了。按钮控件示例点击按钮,文本框中的文本会改变。LRESULT CALLBACK WndProc(
2021-10-26 15:37:23
664
原创 中年人学C语言Windows程序设计,22修改静态文本框static控件背景颜色和文字颜色
当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息。如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄,Windows 会使用该画刷来绘制控件背景(子窗口背景)。也就是说,改变 static 控件的背景颜色只有这一种方式,就是处理 WM_CTLCOLORSTATIC 消息。WM_CTLCOLORSTATIC 消息就是用来设置背景画刷的。改变 static 控件的背景颜色LRESULT CALLBACK Wn
2021-10-26 14:35:14
1003
原创 中年人学C语言Windows程序设计,21静态文本框控件和创建自己的字体
Windows static控件(静态文本框控件)使用 TextOut 和 DrawText 函数有时候会不方便,例如:文本不能自动换行,超出窗口范围会被隐藏;每次更改文本都要先擦除背景再重新输出,比较麻烦。实际开发中一般使用静态文本框控件来输出文本。静态文本框是Windows 的一种标准控件,可以用来在窗口上显示一段文本,并且文本容易受到控制。除了静态文本框,Windows的标准控件还有很多种,例如按钮、下拉菜单、单选按钮、复选框等。其实,控件也是一种窗口,也使用 CreateWindow 函数
2021-10-26 11:07:24
1020
原创 中年人学C语言Windows程序设计,20子窗口的创建
终于到了令人激动的时刻, 尽管在前一阶段的学习中我们已经学习了如何在客户区中绘制简单的图形以及如何使用键盘和鼠标, 但是距离 Windows意义上的软件 似乎还是有点遥远, 而今天, 我们要做的就是将这个距离再缩短一大步! 这阶段要学习的就是 子窗口控件 的使用。在其他一些 Windows应用软件上我们经常能够看到一些大致相同的按钮、复选框、组合框、列表框等控件, 这些控件很有可能就是使用 标准子窗口控件 来实现的。一、子窗口的创建在讲解 "标准子窗口控件" 的使用之前我们首先应该知道如何去创建一个子
2021-10-25 15:21:43
1214
原创 中年人学C语言Windows程序设计,19键盘模拟鼠标点击操作实例
在客户区画出6*6的网格,对网格进行点击,网格变色并标记。利用键盘的上下左右,可以移动鼠标,回车或者空格模拟鼠标左键点击。#define _CRT_SECURE_NO_WARNINGS 1/* ------------------------------------------------------------------- 中年人学C语言Windows程序设计--------------------------------------------------
2021-10-25 13:58:21
696
1
原创 中年人学C语言Windows程序设计,18非客户区鼠标消息和点击测试
点击窗口关闭,弹出消息框,显示点击坐标,然后关闭窗口。LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ ////回调函数 ////参数: ////hwnd : 窗口句柄 ////message : 消息ID ////wParam和lParam:消息参数 //int i; //size_t j; HDC hdc;//
2021-10-21 14:38:46
216
原创 中年人学C语言Windows程序设计,17鼠标光标的符号和客户区鼠标消息响应
鼠标的使用同样是通过获取Windows鼠标消息来获取用户当前的鼠标状态的。一、鼠标的介绍鼠标是计算机的输入设备之一, 在图形化的操作系统上, 鼠标的使用使一些复杂的操作变得简单, 随着科技的进步, 鼠标的种类也越来越多, 按接口类型可分为串行鼠标、PS/2鼠标、总线鼠标、USB鼠标(多为光电鼠标)四种。按其工作原理及其内部结构的不同可以分为机械式,光机式和光电式。这里我们不讨论鼠标的硬件构造, 更多关于鼠标的硬件知识请自行查阅相关资料。1>. 鼠标所在的位置在Windows系统下, 用户移
2021-10-20 17:02:38
854
原创 中年人学C语言Windows程序设计,16键盘:键盘消息和响应
中年人学C语言Windows程序设计,16键盘:键盘消息和响应利用按键 上下键,HOME,END,PAGEUP,PAGEDOWN 移动滚动条。#define _CRT_SECURE_NO_WARNINGS 1/* ------------------------------------------------------------------- 中年人学C语言Windows程序设计----------------------------------------
2021-10-20 13:35:37
356
原创 中年人学C语言Windows程序设计,15窗口绘画:矩形绘制函数的应用
1. 绘制矩形以前,我们是使用 Rectangle 函数绘制矩形,然后封闭图形是自带填充功能的,默认是填充白色,跟客户区的背景颜色一样。在绘制之前,通过 SelectObject 函数将画刷选入设备环境,即可设置矩形的颜色。如果不想让矩形填充背景,也可以,用 GetStockObject 函数获得一个叫 NULL_BRUSH 或者 HOLLOW_BRUSH 的空画刷即可。Rectangle函数功能:Rectangle 函数用于绘制一个矩形。该矩形用当前画笔绘制轮廓,用当前画刷填充。API 函数
2021-10-18 17:06:47
2372
1
原创 中年人学C语言Windows程序设计,14窗口绘画:画刷
CreateSolidBrush函数功能:CreateSolidBrush 函数用于创建一个指定颜色的逻辑画刷。API 函数原型:注释:In 说明该参数是输入的。HBRUSH CreateSolidBrush( _In_ COLORREF crColor);参数解析:参数 含义crColor 1. 指定画刷的 RGB 颜色2. RGB 颜色使用 RGB 宏生成 COLORREF 结构返回值:如果函数调用成功,返回值是新画刷的句柄;如果函数调用失败,返回值是 NULL
2021-10-16 13:52:20
383
原创 中年人学C语言Windows程序设计,13窗口绘画:画笔
中年人学C语言Windows程序设计,13窗口绘画:画笔GetStockObject函数功能:GetStockObject 函数用于获得 Windows 预设的画笔、画刷、字体或者调色板的句柄。API 函数原型:注释:In 说明该参数是输入的。HGDIOBJ GetStockObject(In int fnObject);复制代码参数解析:参数 含义fnObject 指定待获取对象的类型,具体参考下边。fnObject 可取如下值之一:值 含义BLACK_BRUSH 黑色画刷
2021-10-15 14:09:25
809
原创 中年人学C语言Windows程序设计,12绘图函数:各类多边形函数
在正式开始学习绘图之前, 还应该先了解下在屏幕上绘图的相关流程, 首先, 获取设备环境的句柄, 当获取成功时就意味着你的应用程序有了在屏幕上绘图的权限, 然后你就可以调用GDI中的绘图函数通过设备环境句柄对屏幕进行绘制, 等绘制结束后你应该释放这个句柄。获取设备环境句柄Windows提供了许多种方法用来获取不同的设备环境句柄, 这里不能一次性讲全, 当前我们需要使用的主要有以下几种:1>. 使用BeginPaint函数和EndPaint函数:BeainPaint函数原型: HDC B
2021-10-14 14:38:03
760
原创 中年人学C语言Windows程序设计,11绘图函数:贝塞尔曲线
PolyBezie函数功能:PolyBezier 函数用于绘制一个或多个贝塞尔曲线。贝赛尔曲线是一种非常优美的曲线,一条贝赛尔样条由4个定义点定义:两个端点和两个控制点。API 函数原型:注释:In 说明该参数是输入的。BOOL PolyBezier( _In_ HDC hdc, _In_ const POINT *lppt, _In_ DWORD cPoints);参数解析:参数 含义hdc 指定设备环境句柄lppt 1. 一个指向 POINT 结构的数组的指针,
2021-10-14 14:00:49
920
原创 中年人学C语言Windows程序设计,10 窗口绘图:折线和正弦余弦曲线
中年人学C语言Windows程序设计,10 窗口绘画:折线Polyline函数功能:Polyline 函数将指定数组的连接点绘制成一系列线段(折线)。API 函数原型:注释:In 说明该参数是输入的。BOOL Polyline( _In_ HDC hdc, _In_ const POINT *lppt, _In_ int cPoints);参数解析:参数 含义hdc 指定设备环境句柄lppt 一个指向 POINT 结构的数组的指针(折线的顶点
2021-10-13 15:31:10
1294
原创 中年人学C语言Windows程序设计,9 窗口绘图:直线的画法
中年人学C语言Windows程序设计,9 窗口绘画:直线**加粗样式**MoveToEx函数函数功能:MoveToEx 函数将当前绘图位置移动到某个具体的点,同时也可获得之前位置的坐标。API 函数原型:注释:In 说明该参数是输入的,opt 说明该参数是可选参数。BOOL MoveToEx( _In_ HDC hdc, _In_ int X, _In_ int Y, _Out_ LPPOINT lpPoint);参数解析:参数含义h
2021-10-13 14:04:29
752
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人