自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 问答 (26)
  • 收藏
  • 关注

原创 学习duilib比较好的网站

1、https://github.com/netease-im/NIM_Duilib_Framework2、https://www.cnblogs.com/Alberl/p/3341956.html3、https://github.com/qdtroy/DuiLib_Ultimate4、https://github.com/netease-im/NIM_PC_Demo要把例子下到电脑里,打...

2019-10-16 08:47:22 470

原创 win 32 托盘图标并右键显示

最近写程序遇到写学托盘图标的问题,一开始拿MFC写的比较简单,然后就拿win32写的,大致浏览了一下网上的各个大佬写的,我又写了一版,很完善,我能运行出来,谢谢大家,顺道帮忙点个赞谢谢。1、添加头文件#define WM_SHOWTASK WM_USER+10#include <shellapi.h>#pragma comment(lib, "shell32.lib...

2019-10-14 15:39:46 708

原创 win32 去除标题栏和菜单 ,并实现鼠标在上半部分可以拖动窗口

隐藏标题栏SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_CAPTION);SetWindowPos(hWnd, NULL, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_DRAWFRAME);菜单栏为空ATOM MyRegis...

2019-09-11 15:53:09 1616 1

原创 C++ 关于socket

首先,都是新手,会讲一下注意事项。简单的连接,服务器和客户端网上一把啦全是,只要会创建工程,几乎都能运行下来。接下来讲一些看似不简单的事情。客户端连接服务器,只要设置好端口和IP地址就好。端口号是已知的,不知道的可以问身边的朋友,IP地址你可以自己获取也可以问,通过命令行去看就行。其次,客户端与服务器交互数据,你得看有没有什么协议,比如大小端问题(很重要),决定了你在什么位置放数据。举个栗...

2020-01-07 14:30:17 218

原创 backgroundWorker()函数

1、使用backgroundWorker实现多线程大致的步骤是:  1、绑定线程,设置属性  2、调用BackgroundWorker的RunWorkerAsync方法(可以传递参数),它将调用DoWork事件  3、声明DoWork事件的委托方法,在后台执行耗时的操作  4、在耗时操作中判断CancellationPending属性,如果为false则退出  5、如果要向用户界面发送信...

2020-01-06 09:00:06 348

原创 C++ socket连接的知识点

1、socket同步与异步同步与异步主要针对客户端,阻塞与非阻塞主要针对服务器端。1. 同步,就是我调用一个功能,该功能没有结束前,我死等结果。2. 异步,就是我调用一个功能,不需要知道该功能结果,该功能有结果后通知我(回调通知)3. 阻塞, 就是调用我(函数),我(函数)没有接收完数据或者没有得到结果之前,我不会返回。4. 非阻塞, 就是调用我(函数),我(函数)立即返回,...

2019-12-30 17:08:43 394

原创 C++截取数组中的几位

1、char recv_buf[MAX]是我们自己定义的源数据recvf是最后我们存放的数据。如下函数是截取第二位到第8位。 char recvf[MAX]; int i; for (i = 0; i + 2 < 10; i++) { recvf[i] = recv_buf[i + 2]; }...

2019-12-26 09:56:10 6055

原创 C++char[]数组前几位拷贝到其他类型

1、首先有一个char[]型数组char a[0XFFFF];里面是你的数据unsigned short num = NULL;memcpy(&num, recv_buf, 2);第一行是申请的一个short类型的对象,short占两个字节,而char占一个字节,所有memcpy的最后一个参数是2。其他的以此类推。...

2019-12-26 09:51:42 4013

原创 C++ 将string类型放到数组里面并输出

string demo = "123456"; char num[100] = { 0 }; int len = demo.size(); //长度为6 memcpy(num, demo.c_str(), len); for (int i = 0; i <= len; i++) { cout << num[i]; }

2019-12-24 13:27:12 2754

原创 C++ string类型转二进制

#include<iostream>using namespace std;int main(){ string s = "abc"; int x = 0; int a[0xFFFF]; for (int i1 = 0; i1 < s.size(); i1++) { x = s[i1] - '0'; int n, i, j = 0; i = x; ...

2019-12-24 09:24:56 3071

转载 C++ String的序列化和反序列化API(ProtoBuf )

//C++string序列化和序列化APIbool SerializeToString(string* output) const;bool ParseFromString(const string& data);//使用:void set_people() { wp.set_name("sealyao"); wp.set_id(12...

2019-12-23 13:38:06 1984

原创 错误C4996'inet_addr':

首先替换头文件把#include <winsock2.h>换成#include<WS2tcpip.h>再把addrSrv.sin_addr.S_un.S_addr = inet_addr(“127.0.0.1”);换成inet_pton(AF_INET, "123.185.27.193", (void*)&addrSrv.sin_addr.S_un.S_add...

2019-12-13 10:43:46 1027 1

原创 windows日程学习(七)

1、GradientFill函数可以对特定的矩形区域或者三角形区域进行渐变颜色的填充。函数原型:BOOL GradientFill( In HDC hdc,In PTRIVERTEX pVertex,In ULONG nVertex,In PVOID pMesh,In ULONG nMesh, In ULONG ulMode);hdc:指向目标设备环境的句柄。pVertex:指向...

2019-12-10 08:54:30 183

原创 Windows程序学习(六)

1、CreateDialog:创建一个无模式的对话框 函数原型:HWND CreateDialoglndirect(HINSTANCE hlnstance,LPCDLGTEMPLATE IPTemplate,HWNDhWndParent,DLGPROC IPDialogFunc);    参数详解:   hlns...

2019-12-06 17:19:00 204

原创 windows程序设计日常学习(五)

1、GetSystemMetrics:是一个计算机函数,该函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。int x, y;x = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度y = GetSystemMetrics(SM_CYSCREEN); //屏幕高度2、S...

2019-12-05 09:41:05 176

原创 C++ error E0144解决方案

首先我是win32程序,在写数组的时候出现这个问题:Error (active) E0144 a value of type “const wchar_t *” cannot be used to initialize an entity of type “TCHAR *” 代码是static TCHAR* szChildClass[] = { TEXT("Child1"), TEXT("...

2019-12-04 09:02:20 1702

原创 windows程序设计的文本输出

1、文本输出函数:最常见的文本输出函数就是:TextOut(hdc,xstart,ystart,pstring,icount);xstart和ystart参数表示字符串的起始逻辑坐标。通常,这是第一个字符的左上角坐标值,Windows就从该点开始绘制字符。调用SetTextAlign函数可以改变TextOut中xStart 和yStart参数表示的实际含义。使用TA_ LEFT、TA_ RIGH...

2019-12-04 08:56:35 576

原创 windows程序设计(关于位图的知识点)

自己看书自己整理的,希望对大家有用。1、GetSystemMetrics:是一个计算机函数,该函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。int x, y;x = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度y = GetSystemMetrics(SM_CY...

2019-12-02 11:36:26 228

原创 windows日常学习(四)

学了一天,敲了代码,改了一天,真心体会到了写简单,改代码真费劲。今天的收获如下,希望对大家有帮助。1、PaintWindow2、通过给Windows发送-一个BM_ SETSTATE消息,可以模拟按键按钮的状态变化。下面的语句将导致按钮看上去被按一样:SendMessage (hwndButton, BM_ SETSTATE,1, 0);调用下面的函数则会让按钮回到正常状态:SendMe...

2019-11-28 17:07:08 123

原创 windows程序设计(菜单)

1、改变菜单APPendMenu : 在菜单末尾加入一个新菜单单项DeleteMenu:从菜单中删除已存在菜单项并销毁它InsertMenu:向菜单中插入一个新菜单项ModifyMenu:修改一个已存在的菜单项RemoveMenu:从菜单中去除一个已有的菜单项另外:DeleteMenu和RemoveMenu的区别很重要,DeleteMenu会销毁该弹出菜单而RemoveMenu不会。...

2019-11-27 17:05:06 375

原创 windows程序设计日常学习(三)

1、在知道子窗口ID和父窗口句柄后,可以得到子窗口句柄:hwndChild = GetDlgItem (hwndParent, id) ;2、改变按钮文本可以调用SetWindowText来改变按钮中的文本。SetWindowText (hwnd, pszString) ;可以获得一个窗口的当前文本:iLength = GetWindowText (hwnd, pszBuffer, iM...

2019-11-27 08:36:26 112

原创 windows程序设计(OWNDRAW程序)关于button的

代码如下,都是我自己一个个敲出来的// ownerdrawbutton.cpp : Defines the entry point for the application.//#include "framework.h"#include "ownerdrawbutton.h"#define ID_SMALLER 1#define ID_LARGER 2#define BTN...

2019-11-26 14:40:56 353

原创 windows程序设计(计时器)

使用计时器的三种方法:如果程序在整个运行过程中需要一一个 计时器,在WinMain函数中或处理WM_ CREATE消息时,调用SetTimer函数;在离开WinMain函数时或是处理WM DESTROY消息时,调用KillTimer 函数。基于调用SetTimer参数的不同,可采取以下三种方法之一使用计时器。方法一:SetTimer (hwnd, 1, uiMsecInterval, NULL...

2019-11-25 15:39:32 958

原创 windows程序设计对矩形的操作

1、对矩形的操作将矩形沿x轴和y轴移动几个单位:OffsetRect (&rect, x,y);增大或减小矩形的尺寸:InflateRect(&rect,X,y);把矩形结构的各字段设置为0:SetRectEmpty (&rect) ;将一个矩形结构复制到另-一个矩形结构:CopyRect (&DestRect, &SrcRect) ;获取两个矩形...

2019-11-25 10:59:38 709

原创 win32获取设备环境句柄

以下是自己整理的,请多多包涵。获取设备环境句柄1、最常用的方法是在处理WM_PAINT消息时使用BeginPaint函数和EndPaint函数 hdc=BeginPaint(Hwnd,&ps);[Other program lines]EndPaint(hwnd,&ps);其中,变量ps是一个类型为PAINTSTRUCT的结构。2、可以字处理非WM_PAINT消息时...

2019-11-22 16:53:41 397

原创 windows程序设计二

今天一天师父没有给我活儿,我就一直在看书,今天把看书笔记送上吧,希望对大家有点帮助。小女子不才,请多多指教。1、ILength = lstrlen (pString) ;pString = lstrcpy (pString1, pString2) ;pString = lstrcpyn (pString1, pString2, iCount) ;pString = lstrcat (pS...

2019-11-22 16:51:23 108

原创 WM_PAINT消息

大多数Windows程序在WinMain函数初始化过程中会在进入消息循环之前调用UpdateWindow函数。Windows利用这个机会向窗口过程发送最初的WM_ PAINT 消息。这个消息通知窗口过程绘制客户区。此后,窗口过程需要在几乎任何时间都能够处理新收到的WM_ PAINT消息,而且能够在必要时重绘整个客户区。在以下任何一一个 事件发生时,窗口过程都会收到一条WM_ PAINT消息:◆...

2019-11-22 10:49:39 235

原创 windows程序设计一

◆LoadIcon加载图标, 以供程序使用。◆LoadCursor加载 鼠标光标,以供程序使用。◆GetStockObject获取 一个图形对象。在本例中是-一个用来对窗口的背景进行重绘的画刷。◆RegisterClass为应用程序的窗口注册一一个 窗口类。◆MessageBox显 示消息框。◆CreateWindow基于 窗口类创建-一个窗口。◆ShowWindow在屏幕中显示窗口...

2019-11-22 09:07:14 111

原创 win32 直接申请button,后期修改button为圆角矩形窗口

因为这个问题,我改了一个多星期吧。直接申请的时候在create里面直接写,申请成功且运行以后,button是一个矩形,有菱角,我们大多数看到的矩形都是圆角的。那我们该如何做呢。首先:很重要的是你要知道在哪里添加代码。添加代码的位置很重要。具体的代码在网上一堆,随便找几个就行。下面开始直接贴代码。 case WM_PAINT: { hdc = BeginPaint(hWnd, &am...

2019-11-20 15:50:01 599

原创 win32学习之路(七)

1、 SelectClipRgn(NULL)或SelectClipRgn(NULL, RGN_COPY)表示当前选中全部区域,cwindowdc就是window区域,cclientdc就是client区域每次绘制前都可以用SelectClipRgn来选中一块区域,再绘制,再选中一块区域,再绘制,不第二次用SelectClipRgn选中,上次绘制的不会被擦除,当然可以结合ExcludeClipRec...

2019-11-20 15:39:29 333

原创 工作四个月的感想

今天是工作的第132天,四个月过去了,新手逐渐变的不新,但也不是老手,师傅在呢,你又算的了什么呢,也没有正儿八经的写客户端的代码。昨天迟到了,很遗憾,感觉这种事情不应该发生在我的身上,提前45分钟走的,正常的路程是15分钟,祸兮福之所倚吧,昨天开心消消乐貌似过了10关。这也算是一件近期发生的对我来说有点愧疚感的事情吧。其次,经理找我谈话了。问我为什么不出活儿,哎。这也是我的原因。进度太慢,不...

2019-11-19 13:55:32 206

原创 win32 error C1189

运行时出现的问题是:1、Severity Code Description Project File Line Suppression State Suppression StateError C1189 #error: WINDOWS.H already included. MFC apps must not #include <Windows.h> WindowsProje...

2019-11-19 10:24:12 1033 1

原创 win32学习之路(六)

今天来讲一下SetCapture和ReleaseCapture函数。这是我写button的三种状态时遇到的问题。我在创建button的时候,单独写了一个回调函数,用来专门对button的操作。回调函数为m_OldProc = (WNDPROC)SetWindowLong(m_button, GWL_WNDPROC, (LONG)ButtonProc);当我写button的WM_MOUSEHO...

2019-11-18 17:28:58 190

转载 win32API函数

【1】. API之网络函数WNetAddConnection :创建同一个网络资源的永久性连接WNetAddConnection2 :创建同一个网络资源的连接WNetAddConnection3 :创建同一个网络资源的连接WNetCancelConnection :结束一个网络连接WNetCancelConnection2 :结束一个网络连接WNetCloseEnum :结束一次枚举操...

2019-11-18 15:07:32 391

原创 win32学习之路(五)

1、CreateCompatibleDC:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。2、DrawFocusRect,函数,画一个焦点矩形。这个矩形是在标志焦点的样式中通过异或运算完成的(焦点通常用一个点线表示)。如用同样的参数再次调用这个函数,就表示删除焦点矩形。...

2019-11-14 08:48:15 124

原创 LoadImage加载失败(win32)

首先图片必须时点BMP格式,运行,运行不出来就加断点,加入断电后,看看LoadImage的左值是否为空。如果为空,则重新打开图片,**利用Windows10自带的系统自带的照片查看器双击打开图片,点击另存为24位位图的BMP格式,**再用 LoadImage 打开就成功的返回左值了。...

2019-11-11 17:26:07 2444 3

原创 LPCTSTR和LPCSTR和LPCWSTR的区别

自己整理的,谢谢巨人们。LPCTSTR:L :表示long指针;C :表示一个常量T :表示在Win32环境中, 有一个_T宏STR:表示这个变量是一个字符串LPCSTR :表示一个指向常固定地址的可以根据一些宏定义改变语义的字符串。LPCWSTR:LP:指针C:constW:wide宽字符STR表示这个变量是一个字符串...

2019-11-11 09:48:39 665

原创 win32学习之路(四)

1、PAINTSTRUCT是一种包含了某应用程序用来绘制它所拥有的窗口客户区所需要的信息的结构体。2、WM_DRAWITEM,计算机语言,用在组合框,列表框或菜单上的代码。3、SelectObject 把一个对象(位图、画笔、画刷等)选入指定的设备描述表。新的对象代替同一类型的老对象。4、GetCursorPos获取鼠标坐标5、SetCapture该函数在属于当前线程的指定窗口里设置鼠标捕...

2019-11-08 16:50:24 196

原创 判断点是否在矩形内

第一种方法: if (!(m_nCol >= 150 && m_nRow >= 300) && (m_nCol <= 500 && m_nRow <= 340)) { HBRUSH hbrush;//创建新画刷 hbrush = CreateSolidBrush(RGB(255, 255, 255)...

2019-11-08 10:56:09 1177

原创 win32 修改button的背景色

废话不多说直接代码贴上 case WM_CTLCOLORBTN : if ((HWND)lParam == GetDlgItem(hWnd, IDC_BGCOLOR_BTN)) { HWND hbn = (HWND)lParam; HDC hdc = (HDC)wParam; RE...

2019-11-07 13:15:59 2544

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除