#include"FriendFuc.h"
#include "MListBox.h"
#include "MCheckBox.h"
#include "MRadioBox.h"
#include "MComboBox.h"
#include "MStatic.h"
#include "MEdit.h"
#define ID_EDIT 50001
#define ID_COMBOBOX 50003
#define ID_LISTBOX 50002
HWND hWnd;
HINSTANCE hInst;
MStatic hStatic;
MEdit hEdit;
MListBox hListBox;
MRadioBox hRadioBox;
MCheckBox hCheckBox;
MComboBox hComboBox;
HFONT hFont;
TCHAR Data[255];
INT_PTR CALLBACK ProcWinMain( HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
)
{
switch(Msg)
{
case WM_CREATE:
{
hStatic = MStatic(hWnd,"你好啊");
//int Width=30,Height=Width;
hFont=CreateFont(30,0,0,0,0,0,0,0,GB2312_CHARSET,0,0,0,0,"微软雅黑");
// SelectObject((HDC)wParam,hFont);//将字体选入设备环境中
hStatic.SetStaticFont(hFont);
hStatic.SetStaticWndText("我的标签控件");
hStatic.ResetSWndPos(100,30,250,50);
hEdit = MEdit(hWnd,"Hello World!",ID_EDIT);
hEdit.SetEditFont(hFont);
hEdit.SetEditWndText("我的编辑框控件");
hEdit.ResetEWndPos(90,81,290,50);
hListBox = MListBox(hWnd,ID_LISTBOX);
hListBox.SetLBFont(hFont);
hListBox.SetLBWndText(0,"<<我的列表框控件 Hello World! Hello World! Hello World! Hello World! Hello World!>>");
hListBox.ResetLBWndPos(90,132,500,250);
hListBox.InsertLBItem(0,"插入数据1");
hListBox.InsertLBItem(0,"插入数据2");
hListBox.InsertLBItem(0,"插入数据3");
hListBox.InsertLBItem(0,"插入数据4");
hListBox.InsertLBItem(0,"插入数据5");
hListBox.InsertLBItem(0,"插入数据6");
hListBox.InsertLBItem(0,"插入数据7");
hListBox.InsertLBItem(0,"插入数据8");
// hListBox.SetLBWndText(8,"修改后的数据");;
hListBox.ShowLBWnd(TRUE);//隐藏ListBox控件
hRadioBox = MRadioBox(hWnd,"男");
hRadioBox.SetRadioBoxFont(hFont);
hRadioBox.ResetRWndPos(90,390,100,50);
hCheckBox =MCheckBox(hWnd,"女");
hCheckBox.SetCheckBoxFont(hFont);
hCheckBox.ResetCWndPos(90,443,100,50);
hComboBox=MComboBox(hWnd,ID_COMBOBOX);
hComboBox.SetCBFont(hFont);
hComboBox.ResetCBWndPos(90,494,500,200);
hComboBox.InsertCBItem(0,"插入数据1");
hComboBox.InsertCBItem(0,"插入数据2");
hComboBox.InsertCBItem(0,"插入数据3");
hComboBox.InsertCBItem(0,"插入数据4");
hComboBox.InsertCBItem(0,"插入数据5");
hComboBox.InsertCBItem(0,"插入数据6");
hComboBox.InsertCBItem(0,"插入数据7");
hComboBox.DeleteCBData(0);
hComboBox.SetCBCursel(0);
hComboBox.SetCBWndText(1,"替换数据");
}
break;
case WM_COMMAND:
{
switch(LOWORD(wParam))//控件ID
{
//编辑框消息
case ID_EDIT:
{
switch(HIWORD(wParam))//通知码
{
case EN_CHANGE://当编辑框文字发生变化
break;
}
}
break;
//列表框消息
case ID_LISTBOX:
{
switch(HIWORD(wParam))//通知码
{
case LBN_SELCHANGE://当选择项发生变化,表示单击事件
MessageBox(NULL,hListBox.GetLBWndCurselText(),"选择项发生变化",MB_OK);
break;
case LBN_DBLCLK://双击事件
MessageBox(NULL,hListBox.GetLBWndCurselText(),"双击事件",MB_OK);
break;
case LBN_SETFOCUS://获得焦点
break;
case LBN_KILLFOCUS://失去焦点
break;
}
}
break;
}
}
break;
case WM_DESTROY:
{
DeleteObject(hFont);//释放字体对象
PostQuitMessage(0);
}
break;
case WM_MOUSEMOVE:
break;
case WM_LBUTTONDOWN:
{
}
break;
case WM_LBUTTONUP:
break;
case WM_CTLCOLORSTATIC:
{
SetSRCWndTextColor((HDC)wParam,RGB(255,0,0));
SetSRCBackMode((HDC)wParam,TRANSPARENT);
return (BOOL)((HBRUSH)GetStockObject(BLACK_BRUSH));
}
case WM_CTLCOLOREDIT:
{
SetECWndTextColor((HDC)wParam,RGB(0,255,0));
SetECBackMode((HDC)wParam,TRANSPARENT);
return (BOOL)((HBRUSH)GetStockObject(BLACK_BRUSH));
}
case WM_CTLCOLORLISTBOX://设置下拉列表框背景颜色
{
HDC hdcEdit = (HDC) wParam;
SetCLWndTextColor((HDC) wParam, RGB(255,0,0)); //黑色
SetCLBackMode((HDC)wParam,TRANSPARENT); //白色
return (INT_PTR)CreateSolidBrush(BLACK_BRUSH);//返回画刷设置按钮的背景色
}
default:
return DefWindowProc(hWnd,Msg,wParam,lParam);
}
return 0;
}
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
WNDCLASSEX wc;
MSG msg;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = ProcWinMain;
wc.cbClsExtra = NULL;
wc.cbWndExtra = NULL;
wc.hInstance = hInstance;
wc.hbrBackground = (HBRUSH)(COLOR_APPWORKSPACE);
wc.lpszMenuName = NULL;
wc.lpszClassName = "测试窗口";
wc.hIcon = wc.hIconSm = LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
RegisterClassEx(&wc);
hInst=hInstance;
hWnd = CreateWindowEx(WS_EX_CLIENTEDGE,"测试窗口","测试窗口",WS_OVERLAPPEDWINDOW,
100,20,640,700,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,SW_SHOWNORMAL);
UpdateWindow(hWnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
Win32基本控件
需积分: 43 96 浏览量
2015-04-11
11:18:29
上传
评论 1
收藏 334KB RAR 举报
IT码农-小伟
- 粉丝: 0
- 资源: 1