⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monthadd.c

📁 minigui PDA系统 可实现手机功能
💻 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 + -