📄 win84.cpp
字号:
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
// 定义列表框标识
#define IDL_SAMPLE 101
#define FILE_LIST 0x4010 // 定义文件属性值
HINSTANCE hInst;
char lpszClassName1[] = "ListBox"; // 定义窗口类名
HWND hwndList; // 定义列表框句柄
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); // 窗口函数说明
//-----------初始化窗口类------------------
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinst, LPSTR lpszCmdLine,
int nCmdShow )
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszClassName[] = "控件"; //窗口类名
char lpszTitle[]="列表框应用示例"; //窗口标题名
//窗口类的定义
wndclass.style = 0;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0; // 窗口类无扩展
wndclass.cbWndExtra = 0; // 窗口类实例无扩展
wndclass.hInstance = hinstance ; // 当前实例句柄
wndclass.hIcon = LoadIcon( NULL, IDI_INFORMATION); // 窗口的最小化图标为默认图标
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW ); // 窗口采用箭头图标
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口背景为白色
wndclass.lpszMenuName = NULL; // 窗口中无菜单
wndclass.lpszClassName = lpszClassName ; // 窗口类名为窗口实例
//--------窗口类的注册-----------
if(! RegisterClass (&wndclass))
{
MessageBeep(0);
return FALSE;
}
hInst = hinstance;
// 创建窗口
hwnd = CreateWindow( lpszClassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hinstance,
NULL );
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
//消息循环
while (GetMessage(&Msg, NULL, 0,0 ))
{
TranslateMessage( &Msg );
DispatchMessage( &Msg );
}
return Msg.wParam ; // 消息循环结束即程序终止时将信息返回系统
}
// 窗口函数
LRESULT CALLBACK WndProc( HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{ int nIndex;
switch(message)
{
case WM_CREATE:
hwndList = CreateWindow(lpszClassName1,
NULL,
// 设置列表框风格
LBS_EXTENDEDSEL|WS_CHILD|WS_VISIBLE|LBS_STANDARD|LBS_MULTIPLESEL,
40, 80,
200, 180,
hwnd,
(HMENU)IDL_SAMPLE,
hInst,
NULL
);
// 设置列表框中的所列文件类型
SendMessage(hwndList, LB_DIR, FILE_LIST, (LPARAM)"*.*");
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
// 处理控件消息
case IDL_SAMPLE:
if(HIWORD(wParam) == LBN_DBLCLK)
{
// 处理列表框消息
nIndex = SendMessage(hwndList, LB_GETCURSEL, 0, 0L);
// 删除该列表项
SendMessage(hwndList, LB_DELETESTRING, nIndex, 0l);
}
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc( hwnd, message, wParam, lParam);
}
return (0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -