#include "windows.h" #include "tchar.h" int APIENTRY _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow ) { MessageBox(NULL, TEXT("Hello,World!"), TEXT("haha"), MB_OK); return 0;…
使用win32 API制作美观按钮,当鼠标移入/移出按钮时改变按钮背景颜色,类似HTML网页中的效果,告别win32 API编程中默认的灰色按钮,效果图见下面动图和视频. 下载地址: 按钮效果(win32编程).zip https://files.cnblogs.com/files/techinged/%E6%8C%89%E9%92%AE%E6%95%88%E6%9E%9C(win32%E7%BC%96%E7%A8%8B).zip 有任何问题请发Email至techinged@qq.com或者4…
5.2.4 成员运算符重载函数和友元运算符重载函数的比较 (1)对双目运算符而言,成员运算符重载函数参数表中含有一个参数,而友元运算符重载函数参数表中有两个参数:对于单目运算符而言,成员运算符重载函数参数表中没有参数,而友元运算符重载函数参数表中有一个参数. (2)双目运算符一般可以被重载为友元运算符重载函数或成员运算符重载函数,但有一种情况必须使用友元函数. 例如,如果将一个复数与一个整数相加,可用成员运算符重载函数"+"运算符: Complex operator+(int a) {…
一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),windows在内核层构建了一套管理和保护机制,用于维护系统的正常运行,这些机制的实现被称为系统内核.为了区别于windows的内部实现,把我们日常使用的应用程序所运行的环境称为用户层,此时CPU特权级为R3,无法调用系统的内核函数.但是,只有内核函数才能操控硬件,所以windows又提供了可在用户层…
5.2.3 成员运算符重载函数 在C++中可以把运算符重载函数定义为某个类的成员函数,称之为成员运算符重载函数. 1. 定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式如下: 函数类型 operator 运算符(形参表) {       函数体 } (2)成员运算符重载函数也可以在类中声明成员函数的原型,在类外定义. 在类的内部,声明成员运算符重载函数原型的格式如下: class X{      ...      函数类型 operator运算符(参数表); };…
5.2.2 友元运算符重载函数 运算符重载函数一般采用两种形式定义: 一是定义为它将要操作的类的成员函数(简称运算符重载函数): 二是定义为类的友元函数(简称为友元运算符重载函数). 1.定义友元运算符重载函数的语法如下: 在类的内部: friend 函数类型 operator运算符(形参表) { 函数体 } 在类的内部声明,在类外定义: class X{ ... friend 函数类型 operator运算符(形参表): }; 函数类型 X::operator运算符(形参表) { 函数体 }…
createwindow可以直接创建一个staitc,但这个static是不透明的,如果我们把窗口背景设置为GRAY_BRUSH,则static会很明显的有一个白色背景,一般来说这样肯定很难看. 可以先给 static设置一个WS_EX_TRANSPARENT的扩展属性,然后在消息回调函数中拦截 WM_CTLCOLORSTATIC 消息,处理下TEXTCOLOR 和 BKMODE,即文字颜色和背景模式: 设置扩展属性: SetWindowLong(hStatic,GWL_EXSTYLE,WS_E…
#include <windows.h> #include <tchar.h> #include <stdio.h> int main(int argc, char* argv[]) { TCHAR szCommandLine[] = TEXT("NOTEPAD");//或者WCHAR //LPWSTR szCommandLine = TEXT("NOTEPAD");//错误 //STARTUPINFO si = { sizeof…
通过WSAAsyncSelect()可以设置非阻塞异步套接字 ::WSAAsyncSelect(s, hDlg, WM_SOCKET, FD_CONNECT | FD_CLOSE | FD_WRITE | FD_READ); 然而设置WSAAsyncSelect()后,进行connect()与服务端连接: if(::connect(s, (sockaddr*)&servAddr, sizeof(servAddr)) == -1) { MessageBox(NULL, L"connect(…
#include <windows.h> #include <tlhelp32.h> // 声明快照函数的头文件 #include "tchar.h" #include "stdio.h" #include <iostream> using namespace std; int main(int argc, char* argv[]) { PROCESSENTRY32 pe32; // 在使用这个结构之前,先设置它的大小 pe32…