📄 memoire.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 + -