📄 monthadd.c
字号:
#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_ADD_STATIC_TITLE 808
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_TEXT 809
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TITLE 810
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TEXT 811
#define IDC_TOOLS_MEMOIRE_ADD_BUTTON_CREAT 812
#define IDC_TOOLS_MEMOIRE_ADD_BUTTON_QUIT 813
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_YEAR 814
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_MONTH 815
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_DATA 816
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_HOUR 817
#define IDC_TOOLS_MEMOIRE_ADD_STATIC_MINUTE 818
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_YEAR 819
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MONTH 820
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_DATA 821
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_HOUR 822
#define IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MINUTE 823
#define MSG_MEMOIRE_ADD 1106
struct memoire litem2;
HWND fWnd;
FILE *fp;
static int Month_Add(HWND hWnd)
{
struct tm* ptime;
time_t now;
time(&now);
ptime = localtime(&now);
sprintf(litem2.year,"%d",ptime->tm_year+1900);
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TITLE),litem2.title,sizeof(litem2.title));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TEXT),litem2.text,sizeof(litem2.text));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_YEAR),litem2.year,sizeof(litem2.year));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MONTH),litem2.month,sizeof(litem2.month));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_DATA),litem2.data,sizeof(litem2.data));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_HOUR),litem2.hour,sizeof(litem2.hour));
GetWindowText(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MINUTE),litem2.minute,sizeof(litem2.minute));
printf("len:%d\n",strlen(litem2.title));
if((strlen(litem2.title)>20) || (strlen(litem2.title)== 0))
{
MessageBox(hWnd,"请输入正确的标题","",MB_OK | MB_ICONINFORMATION);
return;
}
if(strlen(litem2.title)>200)
{
MessageBox(hWnd,"内容超出范围","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(litem2.year)>10000) || (atoi(litem2.year)<=0))
{
MessageBox(hWnd,"请输入正确的年份","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(litem2.month)>12) || (atoi(litem2.month)<=0))
{
MessageBox(hWnd,"请输入正确的月份","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(litem2.data)>31) || (atoi(litem2.data)<=0))
{
MessageBox(hWnd,"请输入正确的日期","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(litem2.hour)>24) || (atoi(litem2.hour)< 0))
{
MessageBox(hWnd,"请输入正确的小时","",MB_OK | MB_ICONINFORMATION);
return;
}
if((atoi(litem2.minute)>60) || (atoi(litem2.minute)< 0))
{
MessageBox(hWnd,"请输入正确的分钟","",MB_OK | MB_ICONINFORMATION);
return;
}
if((fp=fopen(MEMOIREDAT,"a+"))==NULL)
{
MessageBox(hWnd,"打开文件失败","",MB_OK | MB_ICONINFORMATION);
return;
}
fwrite(&litem2,sizeof(struct memoire),1,fp);
fclose(fp);
SendNotifyMessage(fWnd,MSG_MEMOIRE_ADD,0,0L);
}
static int MonthAddProc(HWND hMemoireadd, int message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case MSG_CREATE:
{
CreateWindow (CTRL_STATIC,
"标题:",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_TITLE,
10, 10, 40, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"内容:",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_TEXT,
10, 40, 40, 20,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TITLE,
50, 10, 150, 20,
hMemoireadd,
0);
CreateWindow (CTRL_MLEDIT,
"",
WS_VISIBLE | ES_AUTOWRAP| WS_VSCROLL,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_TEXT,
50, 40, 150, 80,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_YEAR,
50, 130, 40, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"年",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_YEAR,
90, 130, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MONTH,
140, 130, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"月",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_MONTH,
180, 130, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_DATA,
220, 130, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"日",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_DATA,
260, 130, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_HOUR,
50, 160, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"时",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_HOUR,
90, 160, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_SLEDIT,
"",
WS_VISIBLE | WS_TABSTOP | WS_BORDER,
IDC_TOOLS_MEMOIRE_ADD_SLEDIT_MINUTE,
140, 160, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_STATIC,
"分",
WS_VISIBLE | SS_CENTER,
IDC_TOOLS_MEMOIRE_ADD_STATIC_MINUTE,
180, 160, 30, 20,
hMemoireadd,
0);
CreateWindow (CTRL_BUTTON,
"创建",
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
IDC_TOOLS_MEMOIRE_ADD_BUTTON_CREAT,
240, 20, 60, 25,
hMemoireadd,
0);
CreateWindow (CTRL_BUTTON,
"退出",
WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,
IDC_TOOLS_MEMOIRE_ADD_BUTTON_QUIT,
240, 50, 60, 25,
hMemoireadd,
0);
}
break;
case MSG_COMMAND:
{
switch(wParam)
{
case IDC_TOOLS_MEMOIRE_ADD_BUTTON_CREAT:
Month_Add(hMemoireadd);
/*SendMessage (hMemoireadd, MCM_SETCURDAY, litem2.day, 0) ;
SendMessage (hMemoireadd, MCM_SETCURMONTH, litem2.month, 0) ;
SendMessage (hMemoireadd, MCM_SETCURYEAR, litem2.year, 0) ;
{
MCCOLORINFO mcci;
memset (&mcci, -1, 11*sizeof(int));
mcci.clr_trailingtext =COLOR_yellow;
SendMessage (hMemoireadd, MCM_SETCOLOR, 0, (LPARAM) &mcci);
}*/
DestroyMainWindow (hMemoireadd);
PostQuitMessage (hMemoireadd);
break;
case IDC_TOOLS_MEMOIRE_ADD_BUTTON_QUIT:
DestroyMainWindow (hMemoireadd);
PostQuitMessage (hMemoireadd);
break;
}
}
break;
case MSG_CLOSE:
{
DestroyMainWindow (hMemoireadd);
PostQuitMessage (hMemoireadd);
return 0;
}
}
return DefaultMainWinProc(hMemoireadd, message, wParam, lParam);
}
int MonthAdd(HWND hMemoire)
{
MSG Msg;
MAINWINCREATE CreateInfo;
HWND hMemoireadd;
fWnd=hMemoire;
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 = MonthAddProc;
CreateInfo.lx = 0;
CreateInfo.ty = 0;
CreateInfo.rx = 320;
CreateInfo.by = 216;
CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF);
CreateInfo.dwAddData = 0;
CreateInfo.hHosting =hMemoire ;
hMemoireadd=CreateMainWindow(&CreateInfo);
ShowWindow(hMemoireadd,SW_SHOWNORMAL);
while(GetMessage(&Msg,hMemoireadd))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
MainWindowThreadCleanup(hMemoireadd);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -