Windows核心编程_Edit操作

Edit控件操作函数编写

今天午饭时间无聊,顺手写了几个对Edit控件操作的函数,都是消息处理,有需要的可以拿去学习,非常简单

//EDIT操作
//写
void settxt(HWND hwnd,char* str) {
	SendMessage(hwnd, 12, 0, (LPARAM)str);
}
//读
char *gettxt(HWND hwnd) {
	char str[1024] = {0};
	SendMessage(hwnd, WM_GETTEXT, 10, (LPARAM)str);
	return str;
}
//取密码框EDIT文本
char* GetPOsTxt(HWND hwnd) {
	int Pos = SendMessage(hwnd, 210, 0, 0);	//得到掩盖符代码
	char str[1024] = { 0 };
	if (Pos != 0) {
		PostMessage(hwnd, 204, 0, 0);//去掉密码属性//界面消息优先级不要使用send
	//获取密码文本
		strcpy(str,gettxt(hwnd));	//copy
	}
	//恢复密码属性
	PostMessage(hwnd, 204, Pos, 0);
	return str;
}
//删除密码EDIT属性
void DeleteEditPos(HWND hwnd) {
	PostMessage(hwnd, 204, 0, 0);//去掉密码属性//界面消息优先级不要使用send
}
//设置密码属性
void SetEditPos(HWND hwnd) {
	PostMessage(hwnd, 204, 1, 0);//去掉密码属性//界面消息优先级不要使用send
}
//获取Edit文本长度字节为单位
int GetEditSize(HWND hwnd) {
	return SendMessage(hwnd, 14, 0, 0);
}
//设置Edit文本最大长度
void SetEditSize(HWND hwnd,int size/*字节长度*/) {
	SendMessage(hwnd, 197, size, 0);
}
//设置Edit只读
void SetEditRead(HWND hwnd) {
	SendMessage(hwnd, 207, 1, 0);
}
//设置Edit默认读写
void SetEditWR(HWND hwnd) {
	SendMessage(hwnd, 207, 0, 0);
}
//取Edit指定行的内容
char* GetEditLi(HWND hwnd,int L) {
	char str[1024] = { 0 };
	SendMessage(hwnd, 196, L - 1, (LPARAM)str);
	return str;
}
//取Edit指定行的内容长度
int GetEditLiSize(HWND hwnd,int L) {
	return SendMessage(hwnd, 193, SendMessage(hwnd, 187, L, 0), 0);
}
//将Edit内容清空,不会清空缓存区
void DeleteEditTxt(HWND hwnd) {
	settxt(hwnd, "");
}
//清空Edit缓存区
void DeleteEdit(HWND hwnd) {
	SendMessage(hwnd, EM_CANUNDO, 0, 0);
}
//Edit光标处插入文本
void SetEditMoveTxt(HWND hwnd, char *str) {
	SendMessage(hwnd, 194, 1, (LPARAM)str);
}
//判断Edit内容是否在一开始时发生过改变
BOOL GetEditBool(HWND hwnd) {
	return SendMessage(hwnd, 184, 0, 0);
}
//获取Edit行号
int GetEditLSize_A(HWND hwnd) {
	return SendMessage(hwnd, EM_GETLINECOUNT, 0, 0);
}
//设置Edit起始选择位置
void SetEditMove(HWND hwnd,int Move) {
	SendMessage(hwnd, 177, Move, Move);
}
//滚动Edit滚动条到指定行
void GunEdit(HWND hwnd, signed int L/*正的往下滚,负数往上滚*/) {
	if (L > 0) {
		SendMessage(hwnd, 182, 1, L);
	}
	else {
		SendMessage(hwnd, 182, 0, L);
	}
}
//将Edit变成IE地址输入框,只能检索IE地址历史记录
#include "Shlwapi.h"
#pragma comment (lib,"Shlwapi.lib")
void SetEditAndIE(HWND hwnd) {
	SHAutoComplete(hwnd, 0);
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

17岁boy想当攻城狮

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值