亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? edit.cpp

?? 文本編輯器是最簡單的VC程序
?? CPP
字號:
// edit.cpp: implementation of the edit class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "myeditor.h"
#include "edit.h"
#include "commdlg.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

edit::edit()
{

}

edit::~edit()
{

}

void edit::gethwnd(HWND hwnd)                                      //獲得主窗口句柄,參數為主窗口句柄
{
   hWnd=hwnd;
}

void edit::gethwndedit(HWND hwnd)                                  //獲得編輯框句柄,參數為編輯框句柄
{
    hWndEdit=hwnd;
}

void edit::FontInitialize (HWND hWndEdit)                          //字體初始化,參數為編輯框句柄
{
    GetObject (GetStockObject (DEFAULT_GUI_FONT), sizeof (LOGFONT), 
            (PTSTR) &logfont) ;

    hFont = CreateFontIndirect (&logfont) ;

    SendMessage (hWndEdit, WM_SETFONT, (WPARAM) hFont, 0) ;

}



void edit::FileInitialize (OPENFILENAME *ofn)                             //初始化OPENFILENAME結構,參數為OPENFILENAME結構體指針
{
 static TCHAR szFilter[] = TEXT ("文本文件 (*.txt)\0*.txt\0")  \
                           TEXT ("所有文件 (*.*)\0*.*\0\0") ;
     
    ofn->lStructSize       = sizeof (OPENFILENAME) ;
    ofn->hwndOwner         = hWnd ;
    ofn->hInstance         = NULL ;
    ofn->lpstrFilter       = szFilter ;
    ofn->lpstrCustomFilter = NULL ;
    ofn->nMaxCustFilter    = 0 ;
    ofn->nFilterIndex      = 0 ;
    ofn->lpstrFile         = NULL ;          
    ofn->nMaxFile          = MAX_PATH ;
    ofn->lpstrFileTitle    = NULL ;          
    ofn->nMaxFileTitle     = MAX_PATH ;
    ofn->lpstrInitialDir   = NULL ;
    ofn->lpstrTitle        = NULL ;
    ofn->Flags             = 0 ;             
    ofn->nFileOffset       = 0 ;
    ofn->nFileExtension    = 0 ;
    ofn->lpstrDefExt       = TEXT ("txt") ;
    ofn->lCustData         = 0L ;
    ofn->lpfnHook          = NULL ;
    ofn->lpTemplateName    = NULL ;
}

//處理打開對話框,參數為OPENFILENAME結構體指針、文件名字符串指針和帶路徑文件名字符串指針,返回打開操作是否完成的BOOL值
BOOL edit::FileOpenDlg (OPENFILENAME *ofn, PTSTR pstrFileName, PTSTR pstrTitleName)  
{
    ofn->hwndOwner         = hWnd ;
    ofn->lpstrFile         = pstrFileName ;
    ofn->lpstrFileTitle    = pstrTitleName ;
    ofn->Flags             = OFN_HIDEREADONLY | OFN_CREATEPROMPT ;
      
    return GetOpenFileName (ofn) ; 
}
//處理另存為對話框,參數為OPENFILENAME結構體指針、文件名字符串指針和帶路徑文件名字符串指針,返回另存為操作是否完成的BOOL值
BOOL edit::FileSaveDlg (OPENFILENAME *ofn, PTSTR pstrFileName, PTSTR pstrTitleName)  
{
 
    ofn->hwndOwner         = hWnd ;
    ofn->lpstrFile         = pstrFileName ;
    ofn->lpstrFileTitle    = pstrTitleName ;
    ofn->Flags             = OFN_OVERWRITEPROMPT ;
   
    return GetSaveFileName (ofn) ;
 
}

//文件讀取并在編輯框中顯示,參數為指向文件的指針,返回是否打開文件成功
BOOL edit::FileRead ( PTSTR hFile)                                                  
{
    HANDLE hBuffer;
    LPSTR pBuffer;
	long lPos1,lPos2;
	int iFile;
    //打開文件
	iFile=_lopen(hFile,OF_READ);
    //判斷所需緩存大小
	lPos1=_llseek(iFile,0l,1);
	lPos2=_llseek(iFile,0l,2);
	_llseek(iFile,lPos1,0);
    //分配緩沖區
	hBuffer = LocalAlloc(LMEM_MOVEABLE|LMEM_ZEROINIT,lPos2+1);
	//判斷是否分配成功
	if ( hBuffer==NULL ) return FALSE;
	pBuffer=(LPSTR)LocalLock(hBuffer);
    _lread(iFile,pBuffer,(WORD)lPos2);				
	_lclose(iFile);
    pBuffer[(WORD)lPos2] = '\0' ;
	SetWindowText (hWndEdit, (PTSTR) pBuffer) ;
    LocalUnlock(hBuffer) ;
	LocalFree(pBuffer);
	return TRUE;
}		
				    
//文件寫入操作,參數為指向文件的指針,返回是否寫入文件成功 
BOOL edit::FileWrite ( PTSTR pstrFileName)                                                                                
{
    LPSTR pBuffer;
	HANDLE hBuffer;
    int hFile;
	long iLength;
    OFSTRUCT OfStruct;   
	//判斷所需緩存大小
	iLength = GetWindowTextLength (hWndEdit) ;
    //分配緩沖區
	hBuffer = LocalAlloc(LMEM_MOVEABLE|LMEM_ZEROINIT , iLength+2);
	//判斷是否分配成功
	if ( hBuffer==NULL ) return FALSE;                                                
	pBuffer = (LPSTR)LocalLock(hBuffer);
    GetWindowText (hWndEdit, pBuffer, iLength + 1) ;
    hFile=OpenFile(pstrFileName, &OfStruct, OF_CREATE|OF_WRITE);
    //寫入文件
	_lwrite(hFile, pBuffer, iLength);
	_lclose(hFile);

    return TRUE;
}

//處理字體對話框并改變字體,參數為CHOOSEFONT結構體指針,HFONT變量和表示文件是否被編輯的變量指針
void edit::SetFont(CHOOSEFONT *cf, HFONT hSetFont, BOOL *fChange)                   
{
    cf->lStructSize=sizeof(CHOOSEFONT);
    cf->hwndOwner=hWndEdit;
    cf->lpLogFont=&lf;
    cf->rgbColors=RGB(0,0,0);
    cf->nFontType=SCREEN_FONTTYPE;
    cf->hDC            = NULL ;
    cf->iPointSize     = 0 ;
    cf->Flags          = CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS | CF_EFFECTS ;
    cf->lCustData      = 0 ;
    cf->lpfnHook       = NULL ;
    cf->lpTemplateName = NULL ;
    cf->hInstance      = NULL ;
    cf->lpszStyle      = NULL ;
    cf->nFontType      = 0 ;   
    cf->nSizeMin       = 0 ;
    cf->nSizeMax       = 0 ;
    if (ChooseFont(cf))
	{
	hDC=GetDC(hWnd);
	hSetFont=CreateFontIndirect(cf->lpLogFont);
   	SelectObject(hDC,hSetFont);
	SetTextColor(hDC,cf->rgbColors);	
	SendMessage (hWndEdit, WM_SETFONT, (WPARAM) hSetFont, 1) ;
	GetClientRect (hWndEdit, &rect) ;
    InvalidateRect (hWndEdit, &rect, TRUE) ;
    *fChange=TRUE;                                                        //標記為已修改
	}
}

//處理查找對話框,參數為指向FINDREPLACE的指針,返回查找消息句柄
HWND edit::FindFindDlg (LPFINDREPLACE pfr)                                
{    
     pfr->lStructSize      = sizeof (FINDREPLACE) ;
     pfr->hwndOwner        = hWnd ;
     pfr->hInstance        = NULL ;
     pfr->Flags            = FR_HIDEUPDOWN ;
     pfr->lpstrFindWhat    = szFindText ;
     pfr->lpstrReplaceWith = NULL ;
     pfr->wFindWhatLen     = sizeof(szFindText);
     pfr->wReplaceWithLen  = 0 ;
     pfr->lCustData        = 0 ;
     pfr->lpfnHook         = NULL ;
     pfr->lpTemplateName   = NULL ;

     return  FindText (pfr) ;
}

//處理查找對話框,參數為指向FINDREPLACE的指針,返回替換消息句柄
HWND edit::FindReplaceDlg (LPFINDREPLACE pfr)                              
{    
     pfr->lStructSize      = sizeof (FINDREPLACE) ;
     pfr->hwndOwner        = hWnd ;
     pfr->hInstance        = NULL ;
     pfr->Flags            = FR_HIDEUPDOWN  ;
     pfr->lpstrFindWhat    = szFindText ;
     pfr->lpstrReplaceWith = szReplText ;
     pfr->wFindWhatLen     = sizeof(szFindText) ;
     pfr->wReplaceWithLen  = sizeof(szReplText) ;
     pfr->lCustData        = 0 ;
     pfr->lpfnHook         = NULL ;
     pfr->lpTemplateName   = NULL ;
 
	 return   ReplaceText (pfr) ;
}

//查找的實現,參數為查找字符串的長度變量的指針,指向FINDREPLACE的指針,返回查找是否成功
BOOL edit::FindFindText ( int * piSearchOffset, LPFINDREPLACE pfr)          
{

     pfr->lpstrFindWhat = szFindText    ;
     // 讀檔
     iLength = GetWindowTextLength (hWndEdit) ;
       
     if (NULL == (pstrDoc = (PTSTR) malloc ((iLength + 1) * sizeof (TCHAR))))
          return FALSE ;
     
     GetWindowText (hWndEdit, pstrDoc, iLength + 1) ;
     
     // 在整個文檔中查找字符串
     pstrPos = _tcsstr (pstrDoc + * piSearchOffset, pfr->lpstrFindWhat) ;
     free (pstrDoc) ;
     
     // 如果沒找到則返回FALSE
     if (pstrPos == NULL)
          return FALSE ;
     
     iPos = pstrPos - pstrDoc ;
     * piSearchOffset = iPos + lstrlen (pfr->lpstrFindWhat) ;
     
     // 選中查找文本
     
     SendMessage (hWndEdit, EM_SETSEL, iPos, * piSearchOffset) ;
     SendMessage (hWndEdit, EM_SCROLLCARET, 0, 0) ;
     
     return TRUE ;
}


//查找下一個,參數為查找字符串的長度變量的指針,指向FINDREPLACE的指針,返回查找是否成功
BOOL edit::FindNextText ( int * piSearchOffset,LPFINDREPLACE pfr)            
{    
     pfr->lpstrFindWhat = szFindText ;    
      
	 return FindFindText ( piSearchOffset, pfr) ;
}

BOOL edit::FindReplaceText ( int * piSearchOffset, LPFINDREPLACE pfr)        //替換
{
      // 查找文本
     if (!FindFindText ( piSearchOffset, pfr))
     return FALSE ;
     
      // 替換文本
     SendMessage (hWndEdit, EM_REPLACESEL, 0, (LPARAM) pfr->lpstrReplaceWith) ;
     * piSearchOffset = iPos + lstrlen (pfr->lpstrReplaceWith);
	  // 選種替換后的字符
	 SendMessage (hWndEdit, EM_SETSEL, iPos, * piSearchOffset) ;               
     return TRUE ;
}

//檢查是否有需查找的字符串,返回查找字符串是否為空
BOOL edit::FindValidFind (void)                                               //檢查是否有需查找的字符串
{
     return * szFindText != '\0' ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品aa午夜观看| 日韩精品一区二区三区蜜臀| 成人精品在线视频观看| 国产乱人伦偷精品视频不卡| 国产在线麻豆精品观看| 久久国内精品视频| 奇米精品一区二区三区四区 | 偷拍亚洲欧洲综合| 亚洲一二三区视频在线观看| 亚洲一区在线播放| 日韩激情av在线| 精品一区二区三区免费观看 | jizz一区二区| 国产精品白丝在线| 国产精品国产精品国产专区不蜜| 一本到高清视频免费精品| 成人avav在线| 色婷婷综合中文久久一本| 在线精品视频一区二区| 欧美精品色综合| 精品国产不卡一区二区三区| 国产清纯白嫩初高生在线观看91| 中文字幕亚洲一区二区av在线| 亚洲人成在线观看一区二区| 亚洲一二三级电影| 久久国产欧美日韩精品| 国产99久久久国产精品潘金 | 岛国精品在线播放| 色欧美88888久久久久久影院| 欧美最猛黑人xxxxx猛交| 欧美日韩欧美一区二区| 26uuu色噜噜精品一区二区| 久久久久免费观看| 一区二区三区中文在线| 美日韩一级片在线观看| 成人激情图片网| 欧美日韩中文另类| 日本高清视频一区二区| 本田岬高潮一区二区三区| 亚洲成人免费在线观看| 免费高清视频精品| 国产河南妇女毛片精品久久久| 97久久超碰国产精品电影| 69p69国产精品| 国产精品色哟哟网站| 亚洲一级片在线观看| 国产在线播精品第三| 日本乱码高清不卡字幕| 精品福利一二区| 亚洲精品v日韩精品| 六月婷婷色综合| 色哟哟日韩精品| 久久亚洲精华国产精华液| 亚洲乱码国产乱码精品精小说| 毛片av一区二区| 99re成人精品视频| 久久香蕉国产线看观看99| 亚洲午夜久久久久中文字幕久| 国产高清在线精品| 7777女厕盗摄久久久| 17c精品麻豆一区二区免费| 日本一不卡视频| 色婷婷综合久久久久中文一区二区 | 国产精品卡一卡二卡三| 亚洲超碰97人人做人人爱| 成人在线一区二区三区| 日韩区在线观看| 一区二区三区在线免费播放 | 欧美xxxx老人做受| 亚洲午夜激情av| 成a人片国产精品| 久久综合久久久久88| 婷婷成人综合网| 色哟哟国产精品| 国产精品久久久久aaaa樱花| 国产一区二区福利| 日韩欧美色电影| 婷婷一区二区三区| 91福利社在线观看| 亚洲人成小说网站色在线| 国产91富婆露脸刺激对白| 欧美大片顶级少妇| 视频一区视频二区中文字幕| 在线观看av一区| 亚洲日本在线视频观看| 成人黄色软件下载| 激情伊人五月天久久综合| 91精品国产乱| 亚洲欧美中日韩| 日韩av一级电影| 欧美日韩免费一区二区三区| 有坂深雪av一区二区精品| 99久久伊人久久99| 欧美韩国日本不卡| 高清国产一区二区| 国产色产综合产在线视频| 韩国午夜理伦三级不卡影院| 精品久久久久久久久久久院品网 | 日韩一区二区精品在线观看| 视频在线观看国产精品| 欧美日韩精品专区| 日日夜夜精品视频天天综合网| 欧美日韩久久不卡| 日韩电影免费一区| 日韩欧美一二三区| 久久激情综合网| wwwwww.欧美系列| 国产成人精品一区二区三区四区| 国产视频一区二区在线观看| 丁香另类激情小说| 综合激情成人伊人| 欧美午夜电影网| 日韩一区二区三区视频在线观看| 日韩不卡一区二区| 欧美日韩高清一区| www一区二区| 无码av免费一区二区三区试看| 在线观看av一区| 日日夜夜免费精品| 日韩欧美电影一区| 国产麻豆9l精品三级站| 久久久99精品久久| 99视频一区二区三区| 亚洲精品菠萝久久久久久久| 欧美日韩和欧美的一区二区| 亚洲aⅴ怡春院| 欧美成人高清电影在线| 视频在线观看91| 欧美三级视频在线| 久久66热偷产精品| 欧美国产1区2区| 蜜桃精品视频在线| 欧美国产精品中文字幕| 国产专区综合网| ...av二区三区久久精品| 欧美三级三级三级爽爽爽| 99国产精品久久久久久久久久| 一区二区高清免费观看影视大全| 欧美一区二区三区日韩| 国产福利一区二区三区视频在线 | 亚洲国产精品久久久男人的天堂 | 一区二区三区国产精品| 一区二区三区四区不卡在线| 北岛玲一区二区三区四区| 亚洲精品欧美综合四区| 67194成人在线观看| 久久精品久久久精品美女| 国产精品免费久久久久| 欧美性猛片aaaaaaa做受| 麻豆国产精品777777在线| 亚洲色大成网站www久久九九| 欧美在线观看视频一区二区三区| 老司机午夜精品| 亚洲三级电影网站| 日韩欧美国产一区在线观看| 91在线播放网址| 久久精品国产99| 亚洲欧美国产77777| 精品久久一二三区| 色综合久久久久综合体| 激情深爱一区二区| 亚洲一区中文日韩| 国产视频视频一区| 5月丁香婷婷综合| 91一区二区三区在线播放| 免费成人小视频| 亚洲免费观看高清完整版在线观看熊 | 欧美在线一区二区| 国产成人免费视频精品含羞草妖精| 亚洲国产成人高清精品| 国产偷国产偷亚洲高清人白洁 | 亚洲精品国产视频| 久久婷婷一区二区三区| 欧美日韩大陆在线| 91亚洲永久精品| 国产福利一区二区三区| 美女看a上一区| 亚洲国产精品久久不卡毛片 | 精品影院一区二区久久久| 一区二区成人在线视频| 国产精品久久久久久久久免费相片| 欧美大黄免费观看| 欧美日韩成人在线| 欧美伊人久久久久久久久影院 | 久久99国产精品麻豆| 香蕉久久一区二区不卡无毒影院| 国产精品区一区二区三| 欧美第一区第二区| 欧美一区中文字幕| 欧美日韩免费视频| 欧美亚洲一区二区三区四区| 91偷拍与自偷拍精品| www.99精品| 成人永久免费视频| 国产黄色精品网站| 国产一级精品在线| 九色|91porny| 久久电影网站中文字幕| 免费在线看一区| 日本特黄久久久高潮|