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

📄 memoireshow.c

📁 minigui PDA系统 可实现手机功能
💻 C
字号:
#include "memoire.h"
#include "../../mybuttonreg.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/memoiredat.txt"

static BITMAP rework_pushed;
static BITMAP rework_unpushed;
static BITMAP rework_mousemove;

static BITMAP quit_pushed;
static BITMAP quit_unpushed;
static BITMAP quit_mousemove;

static BITMAP jpg_bkgnd_MS;

HWND hMemoireshow;
HWND hCtrl_rework;
HWND hCtrl_quit;

static void emMSLoadBitmap()
{
	LoadBitmap (HDC_SCREEN, &rework_pushed, "image/button/tool_rework_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &rework_unpushed, "image/button/tool_rework_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &rework_mousemove, "image/button/tool_rework_mousemove.jpg");	
	   
	LoadBitmap (HDC_SCREEN, &quit_pushed, "image/button/tool_quit_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &quit_unpushed, "image/button/tool_quit_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &quit_mousemove, "image/button/tool_quit_mousemove.jpg");
	   
}
static void emMSUnLoadBitmap()
{
	 UnloadBitmap (&rework_pushed);
        UnloadBitmap (&rework_unpushed);
        UnloadBitmap (&rework_mousemove);
		
	 UnloadBitmap (&quit_pushed);
        UnloadBitmap (&quit_unpushed);
        UnloadBitmap (&quit_mousemove);
}
static void MemShow_notify_proc (HWND hwnd, int id, int nc, DWORD add_data)
{		
	if ( hwnd == hCtrl_rework&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&rework_pushed);
	}
	if ( hwnd == hCtrl_rework && nc == BN_CLICKED&&id== IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&rework_unpushed);
		SendNotifyMessage(hMemoireshow,IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK,0,0);
	}
	if( hwnd == hCtrl_rework && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&rework_mousemove);
	}
	//-----------------------------------------------------------
	if ( hwnd == hCtrl_quit&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&quit_pushed);
	}
	if ( hwnd == hCtrl_quit &&  nc == BN_CLICKED&&id==IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&quit_unpushed);
		SendNotifyMessage(hMemoireshow,MSG_CLOSE,0,0);
	}
	if( hwnd == hCtrl_quit && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&quit_mousemove );
	}
//-----------------------------------------------------------
	InvalidateRect (hwnd, NULL, TRUE);
}
//--------------------------------------------------
int place;
int size;
HWND fWnd;
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)
{
	    HDC hdc = (HDC)wParam;
	    const RECT* clip = (const RECT*) lParam;
	    BOOL fGetDC = FALSE;
	    RECT rcTemp;
	switch (message) 
    	{
	    	case MSG_CREATE:
		{	//emMSLoadBitmap();
				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);
         /*   hCtrl_rework= CreateWindowEx(CTRL_MYBUTTON, 
								 "修改",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
								IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK,
								240, 20, 60, 25,
								hMemoireshow,
								(DWORD)&rework_unpushed);	*/	
			hCtrl_rework =CreateWindow ("button",
				                          "修改",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                          IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK,
								240, 20, 60, 25,
								hMemoireshow, 0);

           /* hCtrl_quit= CreateWindowEx(CTRL_MYBUTTON, 
								 "返回",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
								IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT,
								240, 50, 60, 25,
								hMemoireshow,
								(DWORD)&quit_unpushed);*/
		hCtrl_quit =CreateWindow ("button",
				                          "返回",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                          IDC_TOOLS_MEMOIRE_SHOW_BUTTON_QUIT,
								240, 50, 60, 25,
								hMemoireshow, 0);
			
		SetNotificationCallback ( hCtrl_rework, MemShow_notify_proc);
		SetNotificationCallback ( hCtrl_quit, MemShow_notify_proc );	
				Memoire_Show(hMemoireshow);	
		}
		break;
			case MSG_MOUSEMOVE:
				SetWindowAdditionalData( hCtrl_rework, (DWORD)&rework_unpushed );
				InvalidateRect (hCtrl_rework, NULL, TRUE);
				SetWindowAdditionalData( hCtrl_quit, (DWORD)&quit_unpushed );
				InvalidateRect (hCtrl_quit, NULL, TRUE);
				break;
		case MSG_ERASEBKGND:
	    		if (hdc == 0) {
				hdc = GetClientDC (hMemoireshow);
				fGetDC = TRUE;
	 		   }       
		    
	    		if (clip) {
				rcTemp = *clip;
				ScreenToClient (hMemoireshow, &rcTemp.left, &rcTemp.top);
				ScreenToClient (hMemoireshow, &rcTemp.right, &rcTemp.bottom);
				IncludeClipRect (hdc, &rcTemp);
	    		}

//	  		  FillBoxWithBitmap (hdc, rcTemp.left, rcTemp.top, 0, 0, &jpg_bkgnd_EM);
			FillBoxWithBitmap (hdc, 0, 0, 320, 192, &jpg_bkgnd_MS);
	    		if (fGetDC)
				ReleaseDC (hdc);
	 		   return 0;	
	
				case IDC_TOOLS_MEMOIRE_SHOW_BUTTON_REWORK:
					Memoire_Rework(hMemoireshow);
					//emMSUnLoadBitmap();
					DestroyMainWindow (hMemoireshow);
       	 			PostQuitMessage (hMemoireshow);
					break;	
	
    		case MSG_CLOSE:
		{	
				//emMSUnLoadBitmap();
       	 		DestroyMainWindow (hMemoireshow);
       	 		PostQuitMessage (hMemoireshow);
        			return 0;
		}
    	}
    	return DefaultMainWinProc(hMemoireshow, message, wParam, lParam);
}


int MemoireShow(HWND hMemoire,int index)
{
    	MSG Msg;
    	MAINWINCREATE CreateInfo;
	fWnd = hMemoire;
	place = index;
	RegisterMyButtonControl ();

    	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;   
	LoadBitmap (HDC_SCREEN, &jpg_bkgnd_MS, "./image/background/bkgnd29.jpg"); 
    hMemoireshow=CreateMainWindow(&CreateInfo); 
    ShowWindow(hMemoireshow,SW_SHOWNORMAL);
    while(GetMessage(&Msg,hMemoireshow)) 
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    MainWindowThreadCleanup(hMemoireshow);
	UnloadBitmap (&jpg_bkgnd_MS);
	UnregisterMyButtonControl ();
    return 0;    
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -