如何让客户区中的字符移动,例如有字符‘A’在客户区中间,怎么样让它上下左右移动?
下面是我写的代码
#include<Windows.h>
#include "resource.h"
LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR IpCmdLine,int nCmdShow)
{
WNDCLASS wc;//定义窗口类
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = HBRUSH (COLOR_WINDOW+1);
wc.hCursor = NULL;
wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
wc.hInstance = hInstance;
wc.lpfnWndProc = MyWndProc;
wc.lpszClassName = TEXT("MyWin");
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
wc.style = CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wc))
{
return -1;
}
HWND hMainWnd = CreateWindow(TEXT("MyWin"),TEXT("sample"),WS_OVERLAPPEDWINDOW,0,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);//创建主窗口
if(NULL != hMainWnd)
{
ShowWindow(hMainWnd,nCmdShow);
}
MSG Msg;
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage (&Msg);
DispatchMessage(&Msg);
}
return 0;
}
HWND g_hBtton;
HINSTANCE g_hInst;
LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
RECT rect;
PAINTSTRUCT ps;
int n = 5;
switch(uMsg)
{
case WM_CREATE:
g_hBtton = CreateWindow(TEXT("BUTTON"), TEXT("确定"), WS_CHILD | BS_DEFPUSHBUTTON | WS_VISIBLE,
20, 20,50,50, hWnd, (HMENU)123, g_hInst,NULL);
break;
case WM_COMMAND:
switch( HIWORD(wParam))
{
case BN_CLICKED:
MessageBox(NULL,TEXT("yes"),TEXT("GQ"),MB_YESNO);
break;
}
break;
case WM_KEYDOWN://此处不知道该怎么移动
switch(wParam)
{
case VK_LEFT:
n+=1;
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
TextOut(hdc,rect.right/2,rect.bottom/2,TEXT("A"),1);
//DrawText(hdc,TEXT("hello"),-1,&rect,DT_SINGLELINE| DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default :
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
//InvalidateRect(hWnd,NULL,TRUE);
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
#include<Windows.h>
#include "resource.h"
LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR IpCmdLine,int nCmdShow)
{
WNDCLASS wc;//定义窗口类
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = HBRUSH (COLOR_WINDOW+1);
wc.hCursor = NULL;
wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
wc.hInstance = hInstance;
wc.lpfnWndProc = MyWndProc;
wc.lpszClassName = TEXT("MyWin");
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);
wc.style = CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wc))
{
return -1;
}
HWND hMainWnd = CreateWindow(TEXT("MyWin"),TEXT("sample"),WS_OVERLAPPEDWINDOW,0,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);//创建主窗口
if(NULL != hMainWnd)
{
ShowWindow(hMainWnd,nCmdShow);
}
MSG Msg;
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage (&Msg);
DispatchMessage(&Msg);
}
return 0;
}
HWND g_hBtton;
HINSTANCE g_hInst;
LRESULT CALLBACK MyWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
RECT rect;
PAINTSTRUCT ps;
int n = 5;
switch(uMsg)
{
case WM_CREATE:
g_hBtton = CreateWindow(TEXT("BUTTON"), TEXT("确定"), WS_CHILD | BS_DEFPUSHBUTTON | WS_VISIBLE,
20, 20,50,50, hWnd, (HMENU)123, g_hInst,NULL);
break;
case WM_COMMAND:
switch( HIWORD(wParam))
{
case BN_CLICKED:
MessageBox(NULL,TEXT("yes"),TEXT("GQ"),MB_YESNO);
break;
}
break;
case WM_KEYDOWN://此处不知道该怎么移动
switch(wParam)
{
case VK_LEFT:
n+=1;
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
GetClientRect(hWnd,&rect);
TextOut(hdc,rect.right/2,rect.bottom/2,TEXT("A"),1);
//DrawText(hdc,TEXT("hello"),-1,&rect,DT_SINGLELINE| DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default :
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
//InvalidateRect(hWnd,NULL,TRUE);
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
...全文
相关推荐
js实现上下左右键盘控制div移动
主要为大家详细介绍了js实现上下左右键盘控制div移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
控制台中使用上下左右移动光标定位输出(代码分析)
该代码解析基于个人理解基础,文档对代码进行了拆分解释,该中并不具有完整代码; 整体代码功能尚实现了在控制台上使用上下左右移动光标定位输出,代码基于C语言,不支持删除操作,功能有限,仅提供思路。
JS实现元素上下左右移动效果
主要为大家详细介绍了JS实现元素上下左右移动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JS设置自定义快捷键并实现图片上下左右移动
主要介绍了JS设置自定义快捷键并实现图片上下左右移动,文中通过使用自定义热键或者使用键盘上下左右键移动图片,以此来实现此功能,需要的朋友可以参考下
Wince下 DataGrid编辑并捕捉键盘上下左右移动
Wince下 DataGrid编辑并捕捉键盘上下左右移动


