今天午饭时间无聊,顺手写了几个对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);
}
Edit控件操作函数编写
1478

被折叠的 条评论
为什么被折叠?



