资源简介
c++ 记事本 源码,基本的功能都已经实现,但还有部分为实现,比如字体设置、打印设置等
代码片段和文件信息
#include
#include
#include
#include “idx.h“
#include “resource.h“
using namespace std;
/*
* 欢迎各位C++爱好者前来交流
* QQ:707039333
*
*
*
* 本代码是本人练习API编程的第一个成品程序,其间在网上找来很久,均未发现有效的记事本代码
* 于是乎就自己写了
* //////////////////////////////////////////////
*
* 程序基本实现了记事本的大部分功能,但其中部分还存在设计的不合理
* 欢迎各位朋友指正。
* 程序共花费本人2天时间,由于时间关系,还没有进行优化,请见谅!
*/
int FindFile(LPSTR sTextBOOL down)
{
int start=0;
int now = SendMessage(hwndEditEM_GETSEL00);
int now2=LOWORD(now)now3=HIWORD(now);
//low start now2
//hi end now3
//get text in edit control
HANDLE memory=(HANDLE)SendMessage(hwndEditEM_GETHANDLE00);
LPSTR tagtext=(char *)LocalLock(memory);
if(down)
{
string s(tagtextnow3strlen(tagtext));
start = s.find(sText);
now2=now3+start;
now3=now3+start+strlen(sText);
}//end down if
else
{
string s(tagtext0now2);
start = s.rfind(sText);
now2=start;
now3=strlen(sText)+start;
}//end down else
if(start==-1)return -1;
SendMessage(hwndEditEM_SETSELnow2now3);
return 0;
}//end findfile
LRESULT CALLBACK WindowProc(
HWND hwnd
UINT uMsg
WPARAM wParam
LPARAM lParam
)
{
static FINDREPLACE fr;
static FINDREPLACE fr2;
static CHAR szFindWhat[80];
static CHAR szFindWhat2[80];
static CHAR szFindWhat3[80];
static LPSTR sTextFsTextRsTextR2;
static BOOL downFdownR;
if(uMsg==uFindReplaceMsg)
{
LPFINDREPLACE lpfr;
lpfr = (LPFINDREPLACE)lParam;
if (lpfr->Flags & FR_DIALOGTERM)
{
hdlg = NULL;
return 0;
} //end close
if(lpfr->Flags & FR_FINDNEXT)
{
sTextF=lpfr->lpstrFindWhat;
if(lpfr->wReplaceWithLen)downF=(BOOL)true;
else
downF=(BOOL) (lpfr->Flags & FR_DOWN);
//matchcase=(BOOL) (lpfr->Flags & FR_MATCHCASE);
if(FindFile(sTextFdownF)==-1)
{MessageBox(0“can‘t find where““Error:“MB_OK);
return 0;
}
SetFocus(hwndEdit);
return 0;
}//end find next
if(lpfr->Flags & FR_REPLACE)
{
sTextR=lpfr->lpstrFindWhat;
sTextR2=lpfr->lpstrReplaceWith;
downR=(BOOL) (lpfr->Flags & FR_DOWN);
if(FindFile(sTextFdownF)==-1)
{MessageBox(0“can‘t find where““Error:“MB_OK);
return 0;
}
SetFocus(hwndEdit);
SendMessage(hwndEditEM_REPLACESEL(BOOL)true(LPARAM)sTextR2);
return 0;
}//end repalce
if(lpfr->Flags & FR_REPLACEALL)
{
sTextR=lpfr->lpstrFindWhat;
sTextR2=lpfr->lpstrReplaceWith;
downR=(BOOL) (lpfr->Flags & FR_DOWN);
SendMessage(hwndEditEM_SETSEL11);
while(FindFile(sTextRdownR) != -1)
SendMessage(hwndEditEM_REPLACESEL(BOOL)true(LPARAM)sTextR2);
return 0;
}//end replace all
return 0;
}//end replace msg
int TText = SendMessage(hwndEditEM_GETSEL00);
static HMENU hmenu=GetMenu(hwnd);
if(HIWORD(TText)==LOWORD(TText))//not sel
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 48640 2012-09-01 11:27 edit\edit.opt
文件 219 2012-09-01 11:18 edit\idx.h
文件 4077 2012-09-01 11:06 edit\edit.dsp
文件 10844 2012-09-01 11:26 edit\main.cpp
文件 533 2012-08-18 16:50 edit\edit.dsw
文件 1271 2012-09-01 11:19 edit\edit.plg
文件 50176 2012-09-01 11:27 edit\edit.ncb
文件 3212 2012-08-19 17:26 edit\xy.rc
文件 1391 2012-08-19 17:26 edit\resource.h
文件 32332 2012-08-19 17:26 edit\xy.aps
目录 0 2012-08-18 16:50 edit
----------- --------- ---------- ----- ----
152695 11
- 上一篇:QM算法进行布尔代数化简
- 下一篇:opencv 正脸+左右侧脸全检测
相关资源
- VC HOSTS 修改工具源码(MFC工程)
- c++头文件大全,很全哦,
- PCA和KPCA的Matlab和C++程序
- MFC中的多线程同步
- 山东科技大学C++数据库课程设计源代
- c++做的仪表盘非常逼真哦
- c++ 连接sql server 数据库代码
- 缓冲池的模拟(C++)
- c++版的连连看解释很详细
- 激光雷达数据读取、显示、分割、直
- 旅游管理系统 C++ SQL
- Exceptional C++(中文版).侯捷-侯老师的
- netstat -an 实现的源码
- C++实现获取win7系统端口号IP状态和P
- C++编程规范_101条规则、准则与最佳实
- C++学校人员信息管理系统课程设计.
- 学生作业完成情况管理系统C++含报告
- mysql封装.zip
- 诊所信息管理系统.cpp
- 六子棋游戏即二打一棋C++源程序
- C++实现哈夫曼树及哈夫曼编码.rar
- C++ primer plus第五版学习笔记
- 判断一个代数系统的封闭性、结合律
- C++(CS起源GDI透视自瞄)+代码全写了
- 数据结构——迷宫问题
- C++读取csv到数组.zip
- C++四步相移求得包裹/展开相位
- [C++大学教程 C++ How to program(第九版)
- 基于QT的局域网聊天软件开发文献综述
- C++/MFC高清视频教程
评论
共有 条评论