微信小程序 > 微信公开课 > C语言的记事本程序
微信小程序,微信公开课,C语言的记事本程序

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语言的记事本程序

「C语言的记事本程序」热议话题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议话题「C语言的记事本程序」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「C语言的记事本程序」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「C语言的记事本程序」

微信公开课小程序热议话题「C语言的记事本程序」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议话题「C语言的记事本程序」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。