资源简介
c++ 记事本 源码,基本的功能都已经实现,但还有部分为实现,比如字体设置、打印设置等
![](http://www.nz998.com/pic/64957.jpg)
代码片段和文件信息
#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 正脸+左右侧脸全检测
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 九齐单片机源码
- 商品库存管理系统 C++ MFC
- Qt画图工具源码(qgraphics draw)
- c++ 多功能计算器
- qt 串口助手源码
- C++17 In Detail
- modbus 主机源码
- 《LINUX C编程从初学到精通》光盘源码
- 嵌入式QtC++编程课件
- OLED驱动源码
- tm1650+stm32f103源码(board_tm1650.c)
评论
共有 条评论