返回信息流我有个程序,这个程序可以运行的,下图是控件界面
这个图是运行结果
但是我想添加一个微调控件,如下图
我没有对程序做任何改动,然后在添加了微调控件之后,程序运行不正常了(我认为添加控件之后而不对该控件进行操作的话,原来代码应该照常运行),也不报错,点了调试之后,模拟器跟没反应似的,程序就执行完毕了。
求指导啊~
程序代码如下
#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;
}
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10300同步于 2011/3/18
Embedded_System机器人发帖
【求助】一个关于wince的新手问题
zanglinge
2011/3/18镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。