
C语言的记事本程序
2019-03-12 17:01:43
微信公开课小程序热门讨论「C语言的记事本程序」最新回复-以前自己写的玩的,有最简单的功能,但是没有计算字数功能,将就用吧,好用就采纳
下面是c的记事本小程序,for windows:加入到工程中,再加上rc资源菜单,用devc++编译即可实现:1、C程序:#includewindows.h#defineCM_FILE_SAVEAS9072#defineCM_FILE_EXIT9071#defineCM_FILE_OPEN9070#defineCM_ABOUT9069staticcharg_szClassName[]=MyWindowClass;staticHINSTANCEg_hInst=NULL;#defineIDC_MAIN_TEXT 1001BOOLLoadFile(HWNDhEdit,LPSTRpszFileName){ HANDLEhFile; BOOLbSuccess=FALSE; hFile=CreateFile(pszFileName,GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,0,0); if(hFile!=INVALID_HANDLE_VALUE) { DWORDdwFileSize; dwFileSize=GetFileSize(hFile,NULL); if(dwFileSize!=0xFFFFFFFF) { LPSTRpszFileText; pszFileText=(LPSTR)GlobalAlloc(GPTR,dwFileSize+1); if(pszFileText!=NULL) { DWORDdwRead; if(ReadFile(hFile,pszFileText,dwFileSize,&dwRead,NULL)) {pszFileText[dwFileSize]=0;//Nullterminatorif(SetWindowText(hEdit,pszFileText))bSuccess=TRUE;//Itworked! } GlobalFree(pszFileText); } } CloseHandle(hFile); } returnbSuccess;}BOOLSaveFile(HWNDhEdit,LPSTRpszFileName){ HANDLEhFile; BOOLbSuccess=FALSE; hFile=CreateFile(pszFileName,GENERIC_WRITE,0,0, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); if(hFile!=INVALID_HANDLE_VALUE) { DWORDdwTextLength; dwTextLength=GetWindowTextLength(hEdit); if(dwTextLength0)//Noneedtobotheriftheresnotext. { LPSTRpszText; pszText=(LPSTR)GlobalAlloc(GPTR,dwTextLength+1); if(pszText!=NULL) { if(GetWindowText(hEdit,pszText,dwTextLength+1)) {DWORDdwWritten;if(WriteFile(hFile,pszText,dwTextLength,&dwWritten,NULL))bSuccess=TRUE; } GlobalFree(pszText); } } CloseHandle(hFile); } returnbSuccess;}BOOLDoFileOpenSave(HWNDhwnd,BOOLbSave){ OPENFILENAMEofn; charszFileName[MAX_PATH]; ZeroMemory(&ofn,sizeof(ofn)); szFileName[0]=0; ofn.lStructSize=sizeof(ofn); ofn.hwndOwner=hwnd; ofn.lpstrFilter=TextFiles(*.txt)0*.txt0AllFiles(*.*)0*.*00; ofn.lpstrFile=szFileName; ofn.nMaxFile=MAX_PATH; ofn.lpstrDefExt=txt; if(bSave) { ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT;if(GetSaveFileName(&ofn)) { if(!SaveFile(GetDlgItem(hwnd,IDC_MAIN_TEXT),szFileName)) { MessageBox(hwnd,Savefilefailed.,Error,MB_OK|MB_ICONEXCLAMATION); returnFALSE; } } } else { ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY; if(GetOpenFileName(&ofn)) { if(!LoadFile(GetDlgItem(hwnd,IDC_MAIN_TEXT),szFileName)) { MessageBox(hwnd,Loadoffilefailed.,Error,MB_OK|MB_ICONEXCLAMATION); returnFALSE; } } } returnTRUE;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){ switch(Message) { caseWM_CREATE: CreateWindow(EDIT,, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE|ES_WANTRETURN, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, hwnd,(HMENU)IDC_MAIN_TEXT,g_hInst,NULL); SendDlgItemMessage(hwnd,IDC_MAIN_TEXT,WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT),MAKELPARAM(TRUE,0)); break; caseWM_SIZE: if(wParam!=SIZE_MINIMIZED) MoveWindow(GetDlgItem(hwnd,IDC_MAIN_TEXT),0,0,LOWORD(lParam),HIWORD(lParam),TRUE); break; caseWM_SETFOCUS: SetFocus(GetDlgItem(hwnd,IDC_MAIN_TEXT)); break; caseWM_COMMAND: switch(LOWORD(wParam)) { caseCM_FILE_OPEN:DoFileOpenSave(hwnd,FALSE); break; caseCM_FILE_SAVEAS:DoFileOpenSave(hwnd,TRUE); break; caseCM_FILE_EXIT:PostMessage(hwnd,WM_CLOSE,0,0); break; caseCM_ABOUT:MessageBox(NULL,FileEditorforWindows!nUsingtheWin32API,About...,0); } break; caseWM_CLOSE: DestroyWindow(hwnd); break; caseWM_DESTROY: PostQuitMessage(0); break; default: returnDefWindowProc(hwnd,Message,wParam,lParam); } return0;}intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance, LPSTRlpCmdLine,intnCmdShow){ WNDCLASSEXWndClass; HWNDhwnd; MSGMsg; g_hInst=hInstance; WndClass.cbSize=sizeof(WNDCLASSEX); WndClass.style =0; WndClass.lpfnWndProc =WndProc; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hInstance =g_hInst; WndClass.hIcon =LoadIcon(NULL,IDI_APPLICATION); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); WndClass.lpszMenuName =MAINMENU; WndClass.lpszClassName=g_szClassName; WndClass.hIconSm=LoadIcon(NULL,IDI_APPLICATION); if(!RegisterClassEx(&WndClass)) { MessageBox(0,WindowRegistrationFailed!,Error!, MB_ICONEXCLAMATION|MB_OK|MB_SYSTEMMODAL); return0; } hwnd=CreateWindowEx( WS_EX_CLIENTEDGE, g_szClassName, FileEditorExampleProgram, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,1024,768, NULL,NULL,g_hInst,NULL); if(hwnd==NULL) { MessageBox(0,WindowCreationFailed!,Error!, MB_ICONEXCLAMATION|MB_OK|MB_SYSTEMMODAL); return0; } ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); while(GetMessage(&Msg,NULL,0,0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } returnMsg.wParam;}2、RC资源菜单程序:#defineCM_FILE_SAVEAS9072#defineCM_FILE_EXIT9071#defineCM_FILE_OPEN9070#defineCM_ABOUT9069MAINMENUMENU{POPUP&File{ MENUITEM&Open...,CM_FILE_OPEN MENUITEMSave&As...,CM_FILE_SAVEAS MENUITEMSEPARATOR MENUITEME&xit,CM_FILE_EXIT}POPUP&Help{ MENUITEM&About,CM_ABOUT}}已经在devc++调试通过 更多有关「C语言的记事本程序」的疑问请扫码关注微信公开课+小程序!
下面是c的记事本小程序,for windows:加入到工程中,再加上rc资源菜单,用devc++编译即可实现:1、C程序:#includewindows.h#defineCM_FILE_SAVEAS9072#defineCM_FILE_EXIT9071#defineCM_FILE_OPEN9070#defineCM_ABOUT9069staticcharg_szClassName[]=MyWindowClass;staticHINSTANCEg_hInst=NULL;#defineIDC_MAIN_TEXT 1001BOOLLoadFile(HWNDhEdit,LPSTRpszFileName){ HANDLEhFile; BOOLbSuccess=FALSE; hFile=CreateFile(pszFileName,GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,0,0); if(hFile!=INVALID_HANDLE_VALUE) { DWORDdwFileSize; dwFileSize=GetFileSize(hFile,NULL); if(dwFileSize!=0xFFFFFFFF) { LPSTRpszFileText; pszFileText=(LPSTR)GlobalAlloc(GPTR,dwFileSize+1); if(pszFileText!=NULL) { DWORDdwRead; if(ReadFile(hFile,pszFileText,dwFileSize,&dwRead,NULL)) {pszFileText[dwFileSize]=0;//Nullterminatorif(SetWindowText(hEdit,pszFileText))bSuccess=TRUE;//Itworked! } GlobalFree(pszFileText); } } CloseHandle(hFile); } returnbSuccess;}BOOLSaveFile(HWNDhEdit,LPSTRpszFileName){ HANDLEhFile; BOOLbSuccess=FALSE; hFile=CreateFile(pszFileName,GENERIC_WRITE,0,0, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); if(hFile!=INVALID_HANDLE_VALUE) { DWORDdwTextLength; dwTextLength=GetWindowTextLength(hEdit); if(dwTextLength0)//Noneedtobotheriftheresnotext. { LPSTRpszText; pszText=(LPSTR)GlobalAlloc(GPTR,dwTextLength+1); if(pszText!=NULL) { if(GetWindowText(hEdit,pszText,dwTextLength+1)) {DWORDdwWritten;if(WriteFile(hFile,pszText,dwTextLength,&dwWritten,NULL))bSuccess=TRUE; } GlobalFree(pszText); } } CloseHandle(hFile); } returnbSuccess;}BOOLDoFileOpenSave(HWNDhwnd,BOOLbSave){ OPENFILENAMEofn; charszFileName[MAX_PATH]; ZeroMemory(&ofn,sizeof(ofn)); szFileName[0]=0; ofn.lStructSize=sizeof(ofn); ofn.hwndOwner=hwnd; ofn.lpstrFilter=TextFiles(*.txt)0*.txt0AllFiles(*.*)0*.*00; ofn.lpstrFile=szFileName; ofn.nMaxFile=MAX_PATH; ofn.lpstrDefExt=txt; if(bSave) { ofn.Flags=OFN_EXPLORER|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT;if(GetSaveFileName(&ofn)) { if(!SaveFile(GetDlgItem(hwnd,IDC_MAIN_TEXT),szFileName)) { MessageBox(hwnd,Savefilefailed.,Error,MB_OK|MB_ICONEXCLAMATION); returnFALSE; } } } else { ofn.Flags=OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_HIDEREADONLY; if(GetOpenFileName(&ofn)) { if(!LoadFile(GetDlgItem(hwnd,IDC_MAIN_TEXT),szFileName)) { MessageBox(hwnd,Loadoffilefailed.,Error,MB_OK|MB_ICONEXCLAMATION); returnFALSE; } } } returnTRUE;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){ switch(Message) { caseWM_CREATE: CreateWindow(EDIT,, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE|ES_WANTRETURN, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, hwnd,(HMENU)IDC_MAIN_TEXT,g_hInst,NULL); SendDlgItemMessage(hwnd,IDC_MAIN_TEXT,WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT),MAKELPARAM(TRUE,0)); break; caseWM_SIZE: if(wParam!=SIZE_MINIMIZED) MoveWindow(GetDlgItem(hwnd,IDC_MAIN_TEXT),0,0,LOWORD(lParam),HIWORD(lParam),TRUE); break; caseWM_SETFOCUS: SetFocus(GetDlgItem(hwnd,IDC_MAIN_TEXT)); break; caseWM_COMMAND: switch(LOWORD(wParam)) { caseCM_FILE_OPEN:DoFileOpenSave(hwnd,FALSE); break; caseCM_FILE_SAVEAS:DoFileOpenSave(hwnd,TRUE); break; caseCM_FILE_EXIT:PostMessage(hwnd,WM_CLOSE,0,0); break; caseCM_ABOUT:MessageBox(NULL,FileEditorforWindows!nUsingtheWin32API,About...,0); } break; caseWM_CLOSE: DestroyWindow(hwnd); break; caseWM_DESTROY: PostQuitMessage(0); break; default: returnDefWindowProc(hwnd,Message,wParam,lParam); } return0;}intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance, LPSTRlpCmdLine,intnCmdShow){ WNDCLASSEXWndClass; HWNDhwnd; MSGMsg; g_hInst=hInstance; WndClass.cbSize=sizeof(WNDCLASSEX); WndClass.style =0; WndClass.lpfnWndProc =WndProc; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hInstance =g_hInst; WndClass.hIcon =LoadIcon(NULL,IDI_APPLICATION); WndClass.hCursor=LoadCursor(NULL,IDC_ARROW); WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); WndClass.lpszMenuName =MAINMENU; WndClass.lpszClassName=g_szClassName; WndClass.hIconSm=LoadIcon(NULL,IDI_APPLICATION); if(!RegisterClassEx(&WndClass)) { MessageBox(0,WindowRegistrationFailed!,Error!, MB_ICONEXCLAMATION|MB_OK|MB_SYSTEMMODAL); return0; } hwnd=CreateWindowEx( WS_EX_CLIENTEDGE, g_szClassName, FileEditorExampleProgram, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,1024,768, NULL,NULL,g_hInst,NULL); if(hwnd==NULL) { MessageBox(0,WindowCreationFailed!,Error!, MB_ICONEXCLAMATION|MB_OK|MB_SYSTEMMODAL); return0; } ShowWindow(hwnd,nCmdShow); UpdateWindow(hwnd); while(GetMessage(&Msg,NULL,0,0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } returnMsg.wParam;}2、RC资源菜单程序:#defineCM_FILE_SAVEAS9072#defineCM_FILE_EXIT9071#defineCM_FILE_OPEN9070#defineCM_ABOUT9069MAINMENUMENU{POPUP&File{ MENUITEM&Open...,CM_FILE_OPEN MENUITEMSave&As...,CM_FILE_SAVEAS MENUITEMSEPARATOR MENUITEME&xit,CM_FILE_EXIT}POPUP&Help{ MENUITEM&About,CM_ABOUT}}已经在devc++调试通过 更多有关「C语言的记事本程序」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序

「C语言的记事本程序」热议话题订阅
方法1:微信扫描微信公开课小程序码即可订阅热议话题「C语言的记事本程序」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「C语言的记事本程序」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「C语言的记事本程序」
微信公开课小程序热议话题「C语言的记事本程序」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「C语言的记事本程序」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。
微信公开课小程序
更新时间:2019-03-12 17:01:43
>
__methodCallerx27;ofundefined
>-404011cloudfunctionexecutionerror
>,请补充选择商家自营-预付卡销售-发行方类目,并在基础信息处申请该类目,通过
>:host在模拟器中显示无效
>:请在小程序服务页面上架正式(非测试)内容或商品后重新提交审核
>.net 微信小程序 上传图片
>'setTimeout'的问题
>‘三朵里熙SPA主题减压空间’为什么搜索关键词‘三朵里‘搜不到
>‘扫普通链接二维码打开小程序‘中设置为体验版,扫码打开是线上版本
>“cloudfunctions**indexjs”gitignore
>“NO ULINK DEVICE FOUND”是怎么回事
>“万马掌上校园”的类目审核
>“上线了”公司开发的微信小程序怎么样?
>“产品是否一定需要条形码”
>