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

📄 memoire.c

📁 minigui PDA系统 可实现手机功能
💻 C
字号:
#include "memoire.h"
#include "../../common.h"
#include "../../mybuttonreg.h"

#define IDC_TOOLS_MEMOIRE_NAME                         0x52001
#define IDC_TOOLS_MEMOIRE_TIME			 									 0x52002
#define IDC_TOOLS_MEMOIRE_LISTBOX_TITLE		801
#define IDC_TOOLS_MEMOIRE_LISTBOX_TIME		802
#define IDC_TOOLS_MEMOIRE_BUTTON_SHOW			803		
#define IDC_TOOLS_MEMOIRE_BUTTON_ADD			804
#define IDC_TOOLS_MEMOIRE_BUTTON_DEL			805
#define IDC_TOOLS_MEMOIRE_BUTTON_REWORK		806	
#define IDC_TOOLS_MEMOIRE_BUTTON_CLOSE		807
#define MSG_MEMOIRE_ADD				1106

static BITMAP show_pushed;
static BITMAP show_unpushed;
static BITMAP show_mousemove;

static BITMAP add_pushed;
static BITMAP add_unpushed;
static BITMAP add_mousemove;

static BITMAP del_pushed;
static BITMAP del_unpushed;
static BITMAP del_mousemove;

static BITMAP close_pushed;
static BITMAP close_unpushed;
static BITMAP close_mousemove;

static BITMAP jpg_bkgnd_ME;

HWND hMemoire;
HWND 	hCtrl_show;
HWND 	hCtrl_add;
HWND 	hCtrl_del;
HWND     hCtrl_close;

static void emLoadBitmap()
{
	LoadBitmap (HDC_SCREEN, &show_pushed, "image/button/tool_show_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &show_unpushed, "image/button/tool_show_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &show_mousemove, "image/button/tool_show_mousemove.jpg");	
	   
	LoadBitmap (HDC_SCREEN, &add_pushed, "image/button/tool_add_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &add_unpushed, "image/button/tool_add_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &add_mousemove, "image/button/tool_add_mousemove.jpg");
	   
	LoadBitmap (HDC_SCREEN, &del_pushed, "image/button/tool_del_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &del_unpushed, "image/button/tool_del_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &del_mousemove, "image/button/tool_del_mousemove.jpg");

	LoadBitmap (HDC_SCREEN, &close_pushed, "image/button/tool_close_pushed.jpg");
       LoadBitmap (HDC_SCREEN, &close_unpushed, "image/button/tool_close_unpushed.jpg");
       LoadBitmap (HDC_SCREEN, &close_mousemove, "image/button/tool_close_mousemove.jpg");	
}
static void emUnLoadBitmap()
{
	 UnloadBitmap (&show_pushed);
        UnloadBitmap (&show_unpushed);
        UnloadBitmap (&show_mousemove);
		
	 UnloadBitmap (&add_pushed);
        UnloadBitmap (&add_unpushed);
        UnloadBitmap (&add_mousemove);
		
	 UnloadBitmap (&del_pushed);
        UnloadBitmap (&del_unpushed);
        UnloadBitmap (&del_mousemove);

	 UnloadBitmap (&close_pushed);
        UnloadBitmap (&close_unpushed);
        UnloadBitmap (&close_mousemove);
}

static void Mem_notify_proc (HWND hwnd, int id, int nc, DWORD add_data)
{		
	if ( hwnd == hCtrl_show&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&show_pushed);
	}
	if ( hwnd == hCtrl_show && nc == BN_CLICKED&&id==IDC_TOOLS_MEMOIRE_BUTTON_SHOW)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&show_unpushed);
		SendNotifyMessage(hMemoire,IDC_TOOLS_MEMOIRE_BUTTON_SHOW,0,0);
	}
	if( hwnd == hCtrl_show && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&show_mousemove);
	}
	//-----------------------------------------------------------
	if ( hwnd == hCtrl_add&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&add_pushed);
	}
	if ( hwnd == hCtrl_add && nc == BN_CLICKED&&id==IDC_TOOLS_MEMOIRE_BUTTON_ADD)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&add_unpushed);
		SendNotifyMessage(hMemoire,IDC_TOOLS_MEMOIRE_BUTTON_ADD,0,0);
	}
	if( hwnd == hCtrl_add && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&add_mousemove );
	}
//-----------------------------------------------------------
	if ( hwnd == hCtrl_del&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&del_pushed);
	}
	if ( hwnd == hCtrl_del && nc == BN_CLICKED&&id==IDC_TOOLS_MEMOIRE_BUTTON_DEL)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&del_unpushed);
		SendNotifyMessage(hMemoire,IDC_TOOLS_MEMOIRE_BUTTON_DEL,0,0);
	}
	if( hwnd == hCtrl_del && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&del_mousemove );
	}
//-----------------------------------------------------------------------	
	if ( hwnd == hCtrl_close&& nc == MYBUTTON_PUSHED)
	{		
		//SetWindowAdditionalData(hwnd, (DWORD)&close_pushed);
	}
	if ( hwnd == hCtrl_close&& nc == BN_CLICKED&&id==IDC_TOOLS_MEMOIRE_BUTTON_CLOSE)
	{
		//SetWindowAdditionalData(hwnd, (DWORD)&close_unpushed);
		SendNotifyMessage(hMemoire,MSG_CLOSE,0,0);
	}
	if( hwnd == hCtrl_close && nc == MYBUTTON_MOUSEMOVE)
	{	
		//SetWindowAdditionalData(hwnd, (DWORD)&close_mousemove );
	}
//---------------------------------------------------------------------------
	InvalidateRect (hwnd, NULL, TRUE);
}
//-----------------------------------------------
FILE *fp;
int size;

static void fill_box2(HWND hWnd)
{
	int i=0;
	int j=0;
	char tm[30];


	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);
	
	for(i=0;i<size;i++)
	{  	
		SendMessage(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_ADDSTRING,j,(LPARAM)item[i].title);
		strcpy(tm,item[i].year);
		strcat(tm,"/");
		strcat(tm,item[i].month);	
		strcat(tm,"/");
		strcat(tm,item[i].data);	
	       strcat(tm," ");
		strcat(tm,item[i].hour);
		strcat(tm,":");
		strcat(tm,item[i].minute);
   		SendMessage(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_LISTBOX_TIME),LB_ADDSTRING,j++,(LPARAM)tm);		
	}
	fclose(fp);
}

static void Phone_List_And(HWND hwnd,int id ,int nc, DWORD add_data)
{
       int index;
        
	index=SendMessage(hwnd,LB_GETCURSEL,0,0);
	SendMessage(GetDlgItem(GetParent(hwnd),IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_SETCURSEL,index,0);
	SendMessage(GetDlgItem(GetParent(hwnd),IDC_TOOLS_MEMOIRE_LISTBOX_TIME),LB_SETCURSEL,index,0);
}

static void MemoireDel(HWND hWnd)
{	
  	int index;
	int i=0;
	int save;

	save = MessageBox(hWnd,"是否删除?","提示",MB_OKCANCEL);

	if(save == IDOK)
	{
		index = SendMessage (GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_GETCURSEL,0,0);
		SendMessage(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_DELETESTRING,index ,0);
		SendMessage(GetDlgItem(hWnd,IDC_TOOLS_MEMOIRE_LISTBOX_TIME),LB_DELETESTRING,index ,0);	

		for(i = index;i<size;i++)
		{
			strcpy(item[i].title , item[i+1].title);
			strcpy(item[i].text , item[i+1].text);
			strcpy(item[i].year , item[i+1].year);
			strcpy(item[i].month , item[i+1].month);		
			strcpy(item[i].data , item[i+1].data);
			strcpy(item[i].hour , item[i+1].hour);
			strcpy(item[i].minute , item[i+1].minute);
		}

		if((fp=fopen(MEMOIREDAT,"w"))==NULL)
		{
			MessageBox(hWnd,"the file open failed","",MB_OK | MB_ICONINFORMATION);
 			return;
		}	
		fwrite(item,sizeof(struct memoire),size-1,fp);
		fclose(fp);
	}
}


static int MemoireProc(HWND hMemoire, int message, WPARAM wParam, LPARAM lParam)
{
	int index;
	    HDC hdc = (HDC)wParam;
	    const RECT* clip = (const RECT*) lParam;
	    BOOL fGetDC = FALSE;
	    RECT rcTemp;
    	switch (message) 
    	{
	    	case MSG_CREATE:
		{
		//emLoadBitmap();
		  CreateWindow (CTRL_STATIC,
	    	"标题:",
	    	WS_VISIBLE | SS_LEFT,
	    	IDC_TOOLS_MEMOIRE_NAME,
	    	20, 10, 45, 16,
	    	hMemoire,
	    	0);
			CreateWindow (CTRL_STATIC,
				  "时间:",
					WS_VISIBLE | SS_LEFT,
					IDC_TOOLS_MEMOIRE_TIME,
				  120, 10, 45, 16,
					hMemoire,
					0);    
			CreateWindow (CTRL_LISTBOX,
					"",
					LBS_NOTIFY  | WS_VSCROLL | WS_BORDER |WS_VISIBLE,
					IDC_TOOLS_MEMOIRE_LISTBOX_TITLE,
					20, 30, 100, 130,
					hMemoire,
					0);
			
			CreateWindow (CTRL_LISTBOX,
					"",
					LBS_NOTIFY  | WS_VSCROLL | WS_BORDER |WS_VISIBLE,
					IDC_TOOLS_MEMOIRE_LISTBOX_TIME,
					120, 30, 110, 130,
					hMemoire,
					0);
           /* hCtrl_show= CreateWindowEx(CTRL_MYBUTTON, 
								 "查看",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
					                    IDC_TOOLS_MEMOIRE_BUTTON_SHOW,
					                    240, 30, 60, 25,
					                    hMemoire,
								(DWORD)&show_unpushed);*/
		hCtrl_show =CreateWindow ("button",
				                          "查看",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                          IDC_TOOLS_MEMOIRE_BUTTON_SHOW,
				                          240, 30, 60, 25,
					                    hMemoire,0);

              /*  hCtrl_add= CreateWindowEx(CTRL_MYBUTTON, 
								  "新建",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
					                    IDC_TOOLS_MEMOIRE_BUTTON_ADD,
					                    240, 65, 60, 25,
					                    hMemoire,
								(DWORD)&add_unpushed);    */  
		hCtrl_add =CreateWindow ("button",
				                          "新建",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                          IDC_TOOLS_MEMOIRE_BUTTON_ADD,
					                    240, 65, 60, 25,
					                    hMemoire,0);

             /*  hCtrl_del= CreateWindowEx(CTRL_MYBUTTON, 
								   "删除",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
					                    IDC_TOOLS_MEMOIRE_BUTTON_DEL,
					                    240, 100, 60, 25,
					                    hMemoire,
								(DWORD)&del_unpushed);   */
		hCtrl_del =CreateWindow ("button",
				                          "删除",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                          IDC_TOOLS_MEMOIRE_BUTTON_DEL,
					                    240, 100, 60, 25,
					                    hMemoire,0);

               /*hCtrl_close= CreateWindowEx(CTRL_MYBUTTON, 
								  "关闭",
								WS_VISIBLE | WS_CHILD, WS_EX_TRANSPARENT,
					                    IDC_TOOLS_MEMOIRE_BUTTON_CLOSE,
					                    240, 135, 60, 25,
					                    hMemoire,
								(DWORD)&close_unpushed); */
			hCtrl_close =CreateWindow ("button",
				                          "关闭",
				                          WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE,
				                           IDC_TOOLS_MEMOIRE_BUTTON_CLOSE,
					                    240, 135, 60, 25,
					                    hMemoire,0);

		SetNotificationCallback ( hCtrl_show, Mem_notify_proc );
		SetNotificationCallback ( hCtrl_add, Mem_notify_proc );
		SetNotificationCallback ( hCtrl_del,Mem_notify_proc );
		SetNotificationCallback ( hCtrl_close, Mem_notify_proc );	
			fill_box2(hMemoire);  
			SetNotificationCallback(GetDlgItem(hMemoire,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),Phone_List_And);      
       		SetNotificationCallback(GetDlgItem(hMemoire,IDC_TOOLS_MEMOIRE_LISTBOX_TIME),Phone_List_And);  
			
		}
		break;
			case MSG_MOUSEMOVE:
				//SetWindowAdditionalData( hCtrl_add, (DWORD)&add_unpushed );
				InvalidateRect (hCtrl_add, NULL, TRUE);
				//SetWindowAdditionalData( hCtrl_show, (DWORD)&show_unpushed );
				InvalidateRect (hCtrl_show, NULL, TRUE);
				//SetWindowAdditionalData( hCtrl_del, (DWORD)&del_unpushed );
				InvalidateRect (hCtrl_del, NULL, TRUE);
				//SetWindowAdditionalData( hCtrl_close, (DWORD)&close_unpushed );
				InvalidateRect (hCtrl_close, NULL, TRUE);
				break;	
		case MSG_ERASEBKGND:
	    		if (hdc == 0) {
				hdc = GetClientDC (hMemoire);
				fGetDC = TRUE;
	 		   }       
		    
	    		if (clip) {
				rcTemp = *clip;
				ScreenToClient (hMemoire, &rcTemp.left, &rcTemp.top);
				ScreenToClient (hMemoire, &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_ME);
	    		if (fGetDC)
				ReleaseDC (hdc);
	 		   return 0;
				case IDC_TOOLS_MEMOIRE_BUTTON_ADD:
					MemoireAdd(hMemoire);
					break;
		
				case IDC_TOOLS_MEMOIRE_BUTTON_SHOW:
					index = SendMessage(GetDlgItem(hMemoire,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_GETCURSEL,0,0);
					MemoireShow(hMemoire,index);
					break;

				case IDC_TOOLS_MEMOIRE_BUTTON_DEL:
					MemoireDel(hMemoire);
					break;	

			case MSG_MEMOIRE_ADD:
			SendMessage(GetDlgItem(hMemoire,IDC_TOOLS_MEMOIRE_LISTBOX_TITLE),LB_RESETCONTENT,0,0);
			SendMessage(GetDlgItem(hMemoire,IDC_TOOLS_MEMOIRE_LISTBOX_TIME),LB_RESETCONTENT,0,0);
			fill_box2(hMemoire);
			break;

    		case MSG_CLOSE:
		{		//emUnLoadBitmap();
       	 		DestroyMainWindow (hMemoire);
       	 		PostQuitMessage (hMemoire);
        			return 0;
		}
    	}
    	return DefaultMainWinProc(hMemoire, message, wParam, lParam);
}


 int Memoire(HWND hWnd)
{
    	MSG Msg;
    	MAINWINCREATE CreateInfo;
	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 = MemoireProc;
    	CreateInfo.lx = 0; 
    	CreateInfo.ty = 0;
    	CreateInfo.rx = 320;
    	CreateInfo.by = 216;
    	CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF);
    	CreateInfo.dwAddData = 0;
    	CreateInfo.hHosting =hWnd;   

		LoadBitmap (HDC_SCREEN, &jpg_bkgnd_ME, "./image/background/bkgnd29.jpg"); 

       hMemoire=CreateMainWindow(&CreateInfo); 
    ShowWindow(hMemoire,SW_SHOWNORMAL);
    while(GetMessage(&Msg,hMemoire)) 
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    MainWindowThreadCleanup(hMemoire);
	UnloadBitmap (&jpg_bkgnd_ME);
	UnregisterMyButtonControl ();
    return 0;    
}

⌨️ 快捷键说明

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