monthshow.c
来自「minigui PDA系统 可实现手机功能」· C语言 代码 · 共 334 行
C
334 行
#include <stdio.h>
#include <string.h>
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
#include "monthcal.h"
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_TITLE 824
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_TEXT 825
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TITLE 826
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TEXT 827
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_YEAR 828
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_MONTH 829
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_DATA 830
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_HOUR 831
#define IDC_TOOLS_MEMOIRE_SHOW_STATIC_MINUTE 832
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_YEAR 833
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MONTH 834
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_DATA 835
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_HOUR 836
#define IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MINUTE 837
#define IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK 838
#define IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT 839
#define MSG_MEMOIRE_ADD 1106
//#define MEMOIREDAT "data/monthcalwork.txt"
int place;
HWND fWnd;
int size;
FILE *fp;
static int Memoire_Show(HWND hWnd)
{
if((fp=fopen(MEMOIREDAT,"r"))==NULL)
{
MessageBox(hWnd,"the file open failed","",MB_OK | MB_ICONINFORMATION);
return;
}
fread(item,sizeof(struct memoire),1000,fp);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TITLE),item[place].title);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TEXT),item[place].text);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_YEAR),item[place].year);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MONTH),item[place].month);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_DATA),item[place].data);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_HOUR),item[place].hour);
SetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MINUTE),item[place].minute);
fclose(fp);
}
static int Memoire_Rework(HWND hWnd)
{
if((fp=fopen(MEMOIREDAT,"r"))==NULL)
{
MessageBox(hWnd,"the file open failed","",MB_OK | MB_ICONINFORMATION);
return;
}
size = fread(item,sizeof(struct memoire),1000,fp);
fclose(fp);
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TITLE),item[place].title,sizeof(item[place].title));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TEXT),item[place].text,sizeof(item[place].text));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_YEAR),item[place].year,sizeof(item[place].year));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MONTH),item[place].month,sizeof(item[place].month));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_DATA),item[place].data,sizeof(item[place].data));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_HOUR),item[place].hour,sizeof(item[place].hour));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MINUTE),item[place].minute,sizeof(item[place].minute));
if((strlen(item[place].title)>20) || (strlen(item[place].title)== 0))
{
MessageBox(hWnd,"请输入正确的标题","",MB_OK | MB_ICONINFORMATION);
return;
}
if(strlen(item[place].title)>200)
{
MessageBox(hWnd,"内容超出范围","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(item[place].year)>9999) || (atoi(item[place].year)<=0))
{
MessageBox(hWnd,"请输入正确的年份","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(item[place].month)>12) || (atoi(item[place].month)<=0))
{
MessageBox(hWnd,"请输入正确的月份","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(item[place].data)>31) || (atoi(item[place].data)<=0))
{
MessageBox(hWnd,"请输入正确的日期","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(item[place].hour)>24) || (atoi(item[place].hour)< 0))
{
MessageBox(hWnd,"请输入正确的小时","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(item[place].minute)>60) || (atoi(item[place].minute)< 0))
{
MessageBox(hWnd,"请输入正确的分钟","",MB_OK | MB_ICONINFORMATION);
return;
}
if((fp=fopen(MEMOIREDAT,"w"))==NULL)
{
MessageBox(hWnd,"the file open failed","",MB_OK | MB_ICONINFORMATION);
return;
}
fwrite(item,sizeof(struct memoire),size,fp);
fclose(fp);
SendNotifyMessage(fWnd,MSG_MEMOIRE_ADD,0,0L);
}
static int MemoireShowProc(HWND hMemoireshow, int message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case MSG_CREATE:
{
CreateWindow (CTRL_STATIC,
"标题:",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_TITLE,
10, 10, 40, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"内容:",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_TEXT,
10, 40, 40, 20,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TITLE,
50, 10, 150, 20,
hMemoireshow,
0);
CreateWindow (CTRL_MLEDIT,
"",
WS_VISIBLE | ES_AUTOWRAP| WS_VSCROLL,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_TEXT,
50, 40, 150, 80,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_YEAR,
50, 130, 40, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"年",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_YEAR,
90, 130, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MONTH,
140, 130, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"月",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_MONTH,
180, 130, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_DATA,
220, 130, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"日",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_DATA,
260, 130, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_HOUR,
50, 160, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"时",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_HOUR,
90, 160, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_SHOW_SLEDIT_MINUTE,
140, 160, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_STATIC,
"分",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_SHOW_STATIC_MINUTE,
180, 160, 30, 20,
hMemoireshow,
0);
CreateWindow (CTRL_BUTTON,
"修改",
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK,
240, 20, 60, 25,
hMemoireshow,
0);
CreateWindow (CTRL_BUTTON,
"返回",
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT,
240, 50, 60, 25,
hMemoireshow,
0);
Memoire_Show(hMemoireshow);
}
break;
case MSG_COMMAND:
{
switch(wParam)
{
case IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK:
Memoire_Rework(hMemoireshow);
DestroyMainWindow (hMemoireshow);
PostQuitMessage (hMemoireshow);
break;
case IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT:
DestroyMainWindow (hMemoireshow);
PostQuitMessage (hMemoireshow);
break;
}
}
break;
case MSG_CLOSE:
{
DestroyMainWindow (hMemoireshow);
PostQuitMessage (hMemoireshow);
return 0;
}
}
return DefaultMainWinProc(hMemoireshow, message, wParam, lParam);
}
int MonthShow(HWND hMemoire,int index)
{
MSG Msg;
MAINWINCREATE CreateInfo;
HWND hMemoireshow;
fWnd = hMemoire;
place = index;
CreateInfo.dwStyle = WS_CAPTION | WS_BORDER | WS_VISIBLE;
CreateInfo.dwExStyle = WS_EX_NONE;
CreateInfo.spCaption = "查看备忘录";
CreateInfo.hMenu = 0;
CreateInfo.hCursor = GetSystemCursor(IDC_ARROW);
CreateInfo.hIcon = 0;
CreateInfo.MainWindowProc = MemoireShowProc;
CreateInfo.lx = 0;
CreateInfo.ty = 0;
CreateInfo.rx = 320;
CreateInfo.by = 216;
CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF);
CreateInfo.dwAddData = 0;
CreateInfo.hHosting = hMemoire;
hMemoireshow=CreateMainWindow(&CreateInfo);
ShowWindow(hMemoireshow,SW_SHOWNORMAL);
while(GetMessage(&Msg,hMemoireshow))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
MainWindowThreadCleanup(hMemoireshow);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?