📄 testasix.c
字号:
bt1 = CreateWindow( WNDCLASS_BUTTON,
"按键",
WS_CHILD | BS_REGULAR,
20,30,
32,20,
mainwin,
0,
NULL);
bt2 = CreateWindow( WNDCLASS_BUTTON,
"左",
WS_CHILD | BS_REGULAR,
20,55,
32,20,
mainwin,
0,
NULL);
bt3 = CreateWindow( WNDCLASS_BUTTON,
"右",
WS_CHILD | BS_REGULAR,
20,80,
32,20,
mainwin,
0,
NULL);
bt4 = CreateWindow( WNDCLASS_BUTTON,
"清除",
WS_CHILD | BS_REGULAR,
60,30,
32,20,
mainwin,
0,
NULL);
bt5 = CreateWindow( WNDCLASS_BUTTON,
"退格",
WS_CHILD | BS_REGULAR,
60,55,
32,20,
mainwin,
0,
NULL);
bt6 = CreateWindow( WNDCLASS_BUTTON,
"删除",
WS_CHILD | BS_REGULAR,
60,80,
32,20,
mainwin,
0,
NULL);
hGC = GetGC();
edit1 = CreateWindow( WNDCLASS_EDITOR,
"Good Night!",
WS_CHILD | ES_SINGLE_REGULAR,
20,105,
60,20,
mainwin,
30,
NULL);
edit2 = CreateWindow( WNDCLASS_EDITOR,
NULL,
WS_CHILD | ES_SINGLE_REGULAR,
20,130,
60,20,
mainwin,
30,
NULL);
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_COMMAND:
if( msg.lparam == bt1 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = *(pkey + (i++)%7 );
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
}else
if( msg.lparam == bt2 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = MOVE_LEFT;
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
}else
if( msg.lparam == bt3 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = MOVE_RIGHT;
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
}else
if( msg.lparam == bt4 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = ESCAPE;
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
// test code for repaint and focus
MessageBox((U32)CurWindow,"test", "!!", MB_YESNOCANCEL) ;
}else
if( msg.lparam == bt5 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = BACKSPACE;
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
}else
if( msg.lparam == bt6 )
{
edctrl = (struct ed_ctrl *)( FocusWindow->ctrl_str );
ed_msg.message = WM_CHAR;
ed_msg.lparam = (U32) FocusWindow;
ed_msg.wparam = DELETE;
ed_msg.data = (void *)edctrl;
AdvSendMessage(CurTask->id, (P_MESSAGE)(&ed_msg), NO_SWAP_TASK);
}
break;
case WM_QUIT:
quit = 1;
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
/********************************************************************
* Function test_kb()
* param in: void
* param out: void
* description: 测试键盘控件
********************************************************************/
void test_kb( void ) // test keybar
{
MSG msg;
U32 mainwin;
U32 hGC;
U32 edit1, edit2;
U32 keyboard;
U8 quit=0;
mainwin = CreateWindow( WNDCLASS_WIN,
"pessia!!",
WS_OVERLAPPEDWINDOW,
0,0,
PHY_LCD_W,PHY_LCD_H,
0,
0,
NULL);
edit1 = CreateWindow( WNDCLASS_EDITOR,
NULL,
WS_CHILD | ES_SINGLE_REGULAR,
20,40,
60,20,
mainwin,
30,
NULL);
edit2 = CreateWindow( WNDCLASS_EDITOR,
NULL,
WS_CHILD | ES_SINGLE_REGULAR,
20,80,
60,20,
mainwin,
30,
NULL);
keyboard = CreateWindow( WNDCLASS_KEYBAR,
NULL,
WS_CHILD,
0,130,
118,16,
mainwin,
0,
NULL);
hGC = GetGC();
SetFocus( edit1 );
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_QUIT:
quit = 1;
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
/********************************************************************
* Function test_med()
* param in: void
* param out: void
* description: 测试多行编辑器
********************************************************************/
void test_med( void ) // test multi_line editor
{
MSG msg;
U32 mainwin;
U32 hGC;
U32 edit;
//U32 keyboard;
U8 quit=0;
mainwin = CreateWindow( WNDCLASS_WIN,
"pessia!!",
WS_OVERLAPPEDWINDOW,
0,0,
PHY_LCD_W,PHY_LCD_H,
0,
0,
NULL);
edit = CreateWindow( WNDCLASS_EDITOR,
"欢迎使用多行编辑测试",
WS_CHILD | ES_MULTI_REGULAR,
20,40,
60,100,
mainwin,
0,
NULL);
// keyboard = CreateWindow( WNDCLASS_KEYBAR,
// NULL,
// WS_CHILD,
// 0,130,
// 118,16,
// mainwin,
// 0,
// NULL);
hGC = GetGC();
mainwin = CreateWindow( WNDCLASS_WIN,
"pessia!!",
WS_OVERLAPPEDWINDOW,
0,0,
PHY_LCD_W,PHY_LCD_H,
0,
0,
NULL);
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_QUIT:
quit = 1;
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
void d_task(void)
{
MSG msg;
U32 mainwin;
U32 hGC;
U8 quit=0;
//int i=0;
char buf[1024];
int readcount;
int timeout=0;
hGC = GetGC();
mainwin = CreateWindow( WNDCLASS_WIN,
"uart1-s",
WS_OVERLAPPEDWINDOW,
0,0,
PHY_LCD_W,PHY_LCD_H,
0,
0,
NULL);
SysOpenDev(UART1_ID, -1);
while(1)
{
readcount=SysReadDev(UART1_ID,&buf,1000,timeout);
SysWriteDev(UART1_ID,buf,readcount,0);
SysWriteDev(UART1_ID,"------------",8,0);
timeout +=20;
if(timeout>20000)
timeout = 0;
}
SysCloseDev(UART1_ID);
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_QUIT:
quit = 1;
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
void e_task(void)
{
MSG msg;
U32 mainwin;
U32 hGC;
U8 quit=0;
int i=0, count=0;
char buf[200],tt[2];
int sx = 10, sy = 10;
hGC = GetGC();
tt[1] = 0;
mainwin = CreateWindow( WNDCLASS_WIN,
"uart1-r",
WS_OVERLAPPEDWINDOW,
0,0,
PHY_LCD_W,PHY_LCD_H,
0,
0,
NULL);
while(1)
{
//SysReadDev(UART0_ID,&buf[count++],1);
//SysReadDev(UART1_ID,&buf[count++],1);
while(i<count)
{
tt[0] = buf[i];
sy += (i%8)*12;
TextOut(hGC, tt, sx+(i%8)*12, sy, 0, GPC_BLACK, GPC_REPLACE_STYLE);
i++;
}
}
while(!quit)
{
ASIXGetMessage(&msg, NULL, 0, 0);
switch(msg.message)
{
case WM_QUIT:
quit = 1;
break;
}
DefWindowProc(msg.message, msg.lparam, msg.data, msg.wparam);
}
DestroyWindow( mainwin );
EndofTask();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -