BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10300同步于 2011/3/18
Embedded_System机器人发帖

【求助】一个关于wince的新手问题

zanglinge
2011/3/18镜像同步0 回复
我有个程序,这个程序可以运行的,下图是控件界面 这个图是运行结果 但是我想添加一个微调控件,如下图 我没有对程序做任何改动,然后在添加了微调控件之后,程序运行不正常了(我认为添加控件之后而不对该控件进行操作的话,原来代码应该照常运行),也不报错,点了调试之后,模拟器跟没反应似的,程序就执行完毕了。 求指导啊~ 程序代码如下 #include <Windows.h> #include "eidtuse.h" #include <wingdi.h> #include <WindowsX.h> #include "resource.h" #include "Commctrl.h" struct DecodeUnit DiagMessageProc[]={ WM_INITDIALOG,Oninit, WM_COMMAND,OnCommand, }; struct DecodeUnit DiagCommad[]={ IDOK,OnClickIdok, IDCANCEL,OnClose, IDC_RED,OnEditChange, IDC_GREEN,OnEditChange, IDC_BLUE,OnEditChange, }; HINSTANCE g_hInst; HWND hstatic; int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd ) { g_hInst=hInstance; DialogBox(g_hInst,MAKEINTRESOURCE(IDD_DIALOG1),NULL,About); return 1; } BOOL CALLBACK About(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam) { for(int j=0;j<dim(DiagMessageProc);j++) { if (DiagMessageProc[j].message==message) { DiagMessageProc[j].fun(hDlg,message,wParam,lParam); } } return FALSE; } LONG Oninit(HWND hwnd,UINT message,WPARAM wParam,LPARAM) { Edit_SetText(GetDlgItem(hwnd,IDC_RED),TEXT("127")); Edit_SetText(GetDlgItem(hwnd,IDC_GREEN),TEXT("127")); Edit_SetText(GetDlgItem(hwnd,IDC_BLUE),TEXT("127")); /*SendDlgItemMessage(hwnd,IDC_Sred,UDM_SETBUDDY,(WPARAM)(GetDlgItem(hwnd,IDC_RED)),0); SendDlgItemMessage(hwnd,IDC_Sred,UDM_SETRANGE,0X0L,MAKELONG(255,0)); SendDlgItemMessage(hwnd,IDC_Sred,UDM_SETPOS,0X0L,MAKELONG(127,0));*/ return TRUE; } LONG OnCommand(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { for (int i=0;i<dim(DiagCommad);i++) { if (DiagCommad[i].message==LOWORD(wParam)) { DiagCommad[i].fun(hwnd,message,wParam,lParam); } } return TRUE; } LONG OnClose(HWND hwnd,UINT message,WPARAM wParam,LPARAM) { EndDialog(hwnd,1); return TRUE; } LONG OnClickIdok(HWND hwnd,UINT message,WPARAM wParam,LPARAM) { TCHAR * pc; int count1=Static_GetTextLength(hstatic); pc = new TCHAR (count1); Static_GetText(hstatic,pc,count1); SetWindowText(hwnd,pc); return TRUE; } LONG OnEditChange(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { HDC hdc; RECT rect; HWND hsta=GetDlgItem(hwnd,IDC_FULL); GetClientRect(hsta,&rect); TCHAR buf[32]=TEXT("\n"); hdc=GetDC(hsta); if (HIWORD(wParam)==EN_UPDATE) { Edit_GetText(GetDlgItem(hwnd,IDC_RED),buf,8); int red =_wtoi(buf); Edit_GetText(GetDlgItem(hwnd,IDC_GREEN),buf,8); int green =_wtoi(buf); Edit_GetText(GetDlgItem(hwnd,IDC_BLUE),buf,8); int blue =_wtoi(buf); FillRect(hdc,&rect,CreateSolidBrush(RGB(red,green,blue))); } ReleaseDC(hsta,hdc); return 1; }
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。