📄 appsavecapture.c
字号:
/****************************************************************************
// appSavePicture.c
//appSavePicture
// Create by jsguo 2005.10.2
****************************************************************************/
#include "../inc/nucleus.h"
#include "../inc/winconfig.h"
#include "MMI.h"
#include "../inc/windows.h"
#include "../inc/High_Api.h"
#include "../inc/nucleus.h"
#include "../inc/nu_sd.h"
extern NU_SERIAL_PORT port;
int g_exitInitSign_SavePicture;
char g_szInfoLeft_savePicture[30];
char g_szInfoRight_savePicture[30];
char g_szButtonLeft_savePicture[30];
char g_szButtonRight_savePicture[30];
LRESULT CALLBACK savepictureproc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);
InitMWindow initMySavePicture;
CloseMWindow closeMySavePicture;
ExitInitMWindow exitInitMySavePicture;
int SetSavePictureStart(InitMWindow init,ExitInitMWindow exitInit,CloseMWindow close)
{
memcpy(g_szInfoLeft_savePicture,"↑ PAN ↓ ",sizeof("↑ PAN ↓"));
memcpy(g_szInfoRight_savePicture,"← PAN →",sizeof("← PAN →"));
memcpy(g_szButtonLeft_savePicture,"SAVE",sizeof("SAVE"));
memcpy(g_szButtonRight_savePicture,"CANCEL",sizeof("CANCEL"));
initMySavePicture=init;
initMySavePicture();
exitInitMySavePicture=exitInit;
closeMySavePicture=close;
return 1;
}
int MMI_SetSavePictureInfo(char* szInfoLeft,char* szInfoRight,char* szButtonLeft,char* szButtonRight)
{
if(szInfoLeft!=NULL)
{
memset(g_szInfoLeft_savePicture,0,sizeof(g_szInfoLeft_savePicture));
strcpy(g_szInfoLeft_savePicture,szInfoLeft);
}
if(szInfoRight!=NULL)
{
memset(g_szInfoRight_savePicture,0,sizeof(g_szInfoRight_savePicture));
strcpy(g_szInfoRight_savePicture,szInfoRight);
}
if(szButtonLeft!=NULL)
{
memset(g_szButtonLeft_savePicture,0,sizeof(g_szButtonLeft_savePicture));
strcpy(g_szButtonLeft_savePicture,szButtonLeft);
}
if(szButtonRight!=NULL)
{
memset(g_szButtonRight_savePicture,0,sizeof(g_szButtonRight_savePicture));
strcpy(g_szButtonRight_savePicture,szButtonRight);
}
return 1;
}
int WINAPI MSavePictureMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static CHAR szAppName[]="savepictureForm";
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = (WNDPROC)savepictureproc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance =0;
wndclass.hIcon =0;
wndclass.hCursor =0;
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName =NULL;
wndclass.lpszClassName = szAppName;
RegisterClass(&wndclass);
hwnd=CreateWindowEx(0L,
szAppName,
"savepicture",
WS_POPUP | WS_VISIBLE,//WS_OVERLAPPEDWINDOW
CW_USEDEFAULT,
CW_USEDEFAULT,
MAINFRAME_WIDTH_DEFAULT,
MAINFRAME_HEIGHT_DEFAULT,
NULL,
NULL,
NULL,
NULL);
g_exitInitSign_SavePicture =1;
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
// 消息循环函数
LRESULT CALLBACK savepictureproc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rectDisplay,rectControl,rectButton,rectInfo;
int keyvalue;
HBRUSH hBrush;
HBRUSH hSelectBrush;
HBRUSH hControlBrush;
switch (iMsg)
{
case WM_PAINT:
hBrush = CreateSolidBrush(0xd4deee);
hControlBrush = CreateSolidBrush(COLOR_SELECT);
hSelectBrush = CreateSolidBrush(0x00);
hdc=BeginPaint(hwnd,&ps);
//draw 240*270
rectDisplay.top = 4;
rectDisplay.left = 4;
rectDisplay.right = MAINFRAME_WIDTH_DEFAULT-3;
rectDisplay.bottom = MAINFRAME_WIDTH_DEFAULT+30;
FillRect(hdc,&rectDisplay,hSelectBrush);
//draw 240*(270->320)
rectControl.top = MAINFRAME_WIDTH_DEFAULT+30;
rectControl.left = 0;
rectControl.right = MAINFRAME_WIDTH_DEFAULT;
rectControl.bottom = MAINFRAME_HEIGHT_DEFAULT;
FillRect(hdc,&rectControl,hBrush);
//Draw information bar
rectInfo.left = 4;
rectInfo.right = MAINFRAME_WIDTH_DEFAULT-4;
rectInfo.top = MAINFRAME_WIDTH_DEFAULT+30+4;
rectInfo.bottom =MAINFRAME_HEIGHT_DEFAULT-30;
rectInfo.right = MAINFRAME_WIDTH_DEFAULT/2-1;
FillRect(hdc,&rectInfo,hControlBrush);
DrawText(hdc,g_szInfoLeft_savePicture,-1,&rectInfo,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
rectInfo.left = MAINFRAME_WIDTH_DEFAULT/2+1;
rectInfo.right = MAINFRAME_WIDTH_DEFAULT-4;
FillRect(hdc,&rectInfo,hControlBrush);
DrawText(hdc,g_szInfoRight_savePicture,-1,&rectInfo,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
// Draw Button and Text
rectButton.left = 0;
rectButton.right = MAINFRAME_WIDTH_DEFAULT-0;
rectButton.top = MAINFRAME_HEIGHT_DEFAULT-30+2;
rectButton.bottom = MAINFRAME_HEIGHT_DEFAULT;
rectButton.right = MAINFRAME_WIDTH_DEFAULT/2-1;
FillRect(hdc,&rectButton,hControlBrush);
DrawText(hdc,g_szButtonLeft_savePicture,-1,&rectButton,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
rectButton.left = MAINFRAME_WIDTH_DEFAULT/2+1;
rectButton.right = MAINFRAME_WIDTH_DEFAULT-0;
FillRect(hdc,&rectButton,hControlBrush);
DrawText(hdc,g_szButtonRight_savePicture,-1,&rectButton,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
DeleteObject(hControlBrush);
DeleteObject(hSelectBrush);
DeleteObject(hBrush);
if(g_exitInitSign_SavePicture)
{
exitInitMySavePicture();
g_exitInitSign_SavePicture=0;
}
EndPaint(hwnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_KEYUP:
keyvalue = wParam - 49;
if(keyvalue == KEY_CANCEL)
{
PostMessage(hwnd,WM_CLOSE,0,0);
if(closeMySavePicture!=NULL)
closeMySavePicture();
return 1;
}
switch(keyvalue)
{
case KEY_UP:
User_SavePictureUp();
break;
case KEY_DOWN:
User_SavePictureDown();
break;
case KEY_LEFT:
User_SavePictureLeft();
break;
case KEY_RIGHT:
User_SavePictureRight();
break;
case KEY_OK:
User_SavePictureSave();
break;
case KEY_MIDDLE:
User_SavePictureMiddleKey();
break;
default:
//keyvalue=0;
break;
}
PostMessage(hwnd,WM_PAINT,0,0);
default:
return DefWindowProc(hwnd,iMsg,wParam,lParam);
}
return (0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -