• 大小: 20KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: C/C++
  • 标签: c++  记事本  源码  

资源简介

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


评论

共有 条评论