新手小白,请问C++窗口程序如何添加输入框,按钮,下拉选择框等?

XDflight 2019-02-19 11:27:46
最近在编写一堆硬件的上位机,我想在窗口中添加按钮,输入框,下拉框这些元素,请问如何添加?
代码如下:

// SimWare_PMDG737-800_v1.0.cpp : 定义应用程序的入口点。
//

#include "stdafx.h"
#include "SimWare_PMDG737-800_v1.0.h"
#include "Resource.h"

#define MAX_LOADSTRING 100

// 全局变量:
HINSTANCE SimConnect = NULL;
HINSTANCE hInst; // 当前实例
WCHAR szTitle[MAX_LOADSTRING]=L"PMDG737-800模拟仓控制终端"; // 标题栏文本
WCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名

// 此代码模块中包含的函数的前向声明:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
DWORD GetProcessidFromName(LPCTSTR);
HINSTANCE LoadSimConnectDLL();

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

// TODO: 在此处放置代码。
SimConnect = LoadSimConnectDLL();
if (SimConnect==NULL) {
MessageBoxW(NULL, L"连接模块加载失败!", L"错误", MB_OK | MB_ICONERROR);
return 0;
}
// 初始化全局字符串
//LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadStringW(hInstance, IDC_SIMWAREPMDG737800V10, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);

// 执行应用程序初始化:
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}

HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_SIMWAREPMDG737800V10));

MSG msg;

// 主消息循环:
while (GetMessage(&msg, nullptr, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

return (int) msg.wParam;
}



//
// 函数: MyRegisterClass()
//
// 目标: 注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEXW wcex;

wcex.cbSize = sizeof(WNDCLASSEX);

wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SIMWAREPMDG737800V10));
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_SIMWAREPMDG737800V10);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

return RegisterClassExW(&wcex);
}

//
// 函数: InitInstance(HINSTANCE, int)
//
// 目标: 保存实例句柄并创建主窗口
//
// 注释:
//
// 在此函数中,我们在全局变量中保存实例句柄并
// 创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
hInst = hInstance; // 将实例句柄存储在全局变量中

HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);

if (!hWnd)
{
return FALSE;
}

ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);

return TRUE;
}

//
// 函数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
// 目标: 处理主窗口的消息。
//
// WM_COMMAND - 处理应用程序菜单
// WM_PAINT - 绘制主窗口
// WM_DESTROY - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// 分析菜单选择:
switch (wmId)
{
case ID_32771:
if (IDYES == MessageBoxW(NULL, L"是否自动开始配置环境?", L"自动配置环境", MB_YESNO | MB_ICONQUESTION)) {
if (31 < WinExec("msiexec /qn /i interface\\installer\\SimConnect.msi REBOOT=SUPPRESS", SW_HIDE)) {
MessageBoxW(NULL, L"配置程序已启动", L"自动配置环境", MB_OK | MB_ICONASTERISK);
}
else {
MessageBoxW(NULL, L"配置程序启动失败!", L"自动配置环境", MB_OK | MB_ICONERROR);
}
}
break;
case ID_32772:
if (IDYES == MessageBoxW(NULL, L"是否自动开始修复环境?", L"自动修复环境", MB_YESNO | MB_ICONQUESTION)) {
if (31 < WinExec("msiexec /qn /fa interface\\installer\\SimConnect.msi REBOOT=SUPPRESS", SW_HIDE)) {
MessageBoxW(NULL, L"修复程序已启动", L"自动修复环境", MB_OK | MB_ICONASTERISK);
}
else {
MessageBoxW(NULL, L"修复程序启动失败!", L"自动修复环境", MB_OK | MB_ICONERROR);
}
}
break;
case ID_32773:
if (IDYES == MessageBoxW(NULL, L"是否自动开始卸载环境?", L"自动卸载环境", MB_YESNO | MB_ICONQUESTION)) {
if (31 < WinExec("msiexec /qn /uninstall interface\\installer\\SimConnect.msi REBOOT=SUPPRESS", SW_SHOW)) {
MessageBoxW(NULL, L"卸载程序已启动", L"自动卸载环境", MB_OK | MB_ICONASTERISK);
}
else {
MessageBoxW(NULL, L"卸载程序启动失败!", L"自动卸载环境", MB_OK | MB_ICONERROR);
}
}
break;
case IDM_ABOUT:
MessageBoxW(NULL,L"本程序用于将外接模拟仓与模拟器进行连接和控制\n适用模拟机:PMDG737-800\n版本:1.0\n(c)copyright 2019 达启睿 版权所有 All Right Reserved.",L"关于",MB_OK | MB_ICONASTERISK);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hWnd, &ps);
// TODO: 在此处添加使用 hdc 的任何绘图代码...
EndPaint(hWnd, &ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}

DWORD GetProcessidFromName(LPCTSTR name) {
PROCESSENTRY32 pe;
DWORD id = 0;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
pe.dwSize = sizeof(PROCESSENTRY32);
if (!Process32First(hSnapshot,&pe)) {
return 0;
}
while (Process32Next(hSnapshot, &pe)) {
pe.dwSize = sizeof(PROCESSENTRY32);
if (strcmp((char*)pe.szExeFile,(char*)name)==0) {
id = pe.th32ProcessID;
break;
}
}
CloseHandle(hSnapshot);
return id;
}

HINSTANCE LoadSimConnectDLL()
{
return LoadLibrary(L"bin\\Microsoft.FlightSimulator.SimConnect.dll");
}

效果如下:

请问如何在界面中添加各种元素
(C++好像没有像VB,C#那样有拖拽型布局管理器......)
...全文
1959 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
XDflight 2019-02-19
  • 打赏
  • 举报
回复
引用 6 楼 dqr0802 的回复:
[quote=引用 5 楼 倚栏|听风 的回复:]
[quote=引用 3 楼 dqr0802 的回复:]
[quote=引用 1 楼 倚栏|听风 的回复:]
这是win32代码??
建议百度一下MFC,就是你最后那句话需要的东西

对,是Win32的程序,用的Windows SDK,当然我也可以用MFC,在项目属性里改一下就行,刚刚百度了一下,好像Dialog模块可以对窗口进行布局,一会儿我试试哈[/quote]

改一下就可以?你太天真了,改一下估计也就顶多能让你用用MFC的某些库[/quote]
难道必须在创建项目时选择MFC,改一下不行吗,就是在项目选项中的“使用MFC库”标签中选择“使用静态”或“使用共享DLL”可以吗,我现在是选择的“使用标准Windows库”。[/quote]
我只是想在窗口上添加一些用户互动元素而已,用不到MFC吧
XDflight 2019-02-19
  • 打赏
  • 举报
回复
引用 5 楼 倚栏|听风 的回复:
[quote=引用 3 楼 dqr0802 的回复:]
[quote=引用 1 楼 倚栏|听风 的回复:]
这是win32代码??
建议百度一下MFC,就是你最后那句话需要的东西

对,是Win32的程序,用的Windows SDK,当然我也可以用MFC,在项目属性里改一下就行,刚刚百度了一下,好像Dialog模块可以对窗口进行布局,一会儿我试试哈[/quote]

改一下就可以?你太天真了,改一下估计也就顶多能让你用用MFC的某些库[/quote]
难道必须在创建项目时选择MFC,改一下不行吗,就是在项目选项中的“使用MFC库”标签中选择“使用静态”或“使用共享DLL”可以吗,我现在是选择的“使用标准Windows库”。
倚栏|听风 2019-02-19
  • 打赏
  • 举报
回复
引用 3 楼 dqr0802 的回复:
[quote=引用 1 楼 倚栏|听风 的回复:] 这是win32代码?? 建议百度一下MFC,就是你最后那句话需要的东西
对,是Win32的程序,用的Windows SDK,当然我也可以用MFC,在项目属性里改一下就行,刚刚百度了一下,好像Dialog模块可以对窗口进行布局,一会儿我试试哈[/quote] 改一下就可以?你太天真了,改一下估计也就顶多能让你用用MFC的某些库
XDflight 2019-02-19
  • 打赏
  • 举报
回复
引用 2 楼 Kangduola 的回复:
建议用QT,

其实这个项目原来想用QT或MFC,但是我觉得还是从底层做起吧😂,而且项目都创建了就不想改了😅
XDflight 2019-02-19
  • 打赏
  • 举报
回复
引用 1 楼 倚栏|听风 的回复:
这是win32代码??
建议百度一下MFC,就是你最后那句话需要的东西

对,是Win32的程序,用的Windows SDK,当然我也可以用MFC,在项目属性里改一下就行,刚刚百度了一下,好像Dialog模块可以对窗口进行布局,一会儿我试试哈😊
Kangduola 2019-02-19
  • 打赏
  • 举报
回复
建议用QT,
倚栏|听风 2019-02-19
  • 打赏
  • 举报
回复
这是win32代码?? 建议百度一下MFC,就是你最后那句话需要的东西
目录回到顶部↑丛书前言 前言 读者须知 第1章 visual c++起点 实例1 mfc框架、文档和视 实例2 创建多文档窗口 实例3 创建对话框窗口 实例4 创建启动窗口 第2章 多窗口界面 实例5 多窗口的单文档界面 实例6 通过菜单改变视图 实例7 通过工具栏改变视图 实例8 多视图窗口数据显示 第3章 实现microsoft风格 实例9 visual studio风格的窗口 实例10 internetexplorer4.0风格的窗口 实例11 outlook风格的窗口 实例12 状态栏中的任务栏 第4章 超文本界面 实例13 创建超级链接界面 . 实例14 显示模式html对话框窗口 实例15 超文本浏览器 实例16 数字化时钟 第5章 各种特效窗口 实例17 创建不规则窗口 实例18 操作dib位图窗口 实例19 位图转换窗口 实例20 渐变的窗口 第6章 对话框界面 实例21 可扩展对话柜 实例22 位图预览对话框 实例23 显示目录树对话框 实例24 透明对话框 第7章 菜单状态操作 实例25 漂亮的图文菜单 实例26 随文档动态改变菜单 实例27 启用和禁止菜单命令 实例28 复选菜单命令 第8章 自绘制菜单 实例29 自绘制图标菜单 实例30 visualstudio外观的工具栏 实例31 对话框窗口中的菜单 实例32 弹出位图菜单 第9章 动画按钮 实例33 avi动画按钮 实例34 实现图标按钮 实例35 实现一组图标按钮 实例36 绘制dib动画按钮 第10章 多彩按钮 实例37 位图按钮 实例38 带颜色的按钮 实例39 对鼠标敏感的按钮 实例40 可弹出菜单的按钮 第11章 图文按钮风格大全 实例41 各种图文按钮风格 实例42 图标浮动按钮 实例43 图钉按钮 实例44 计数器按钮 第12章 不规则按钮大全 实例45 各种不规则按钮 实例46 环形按钮 实例47 三角形按钮 实例48 椭圆形按钮 第13章 掩膜编辑框 实例49 ip地址输入编辑框 实例50 下拉列表控件中的编辑柜 实例51 掩膜输入编辑框 实例52 数字输入控制编辑框 第14章 编辑框和树视控件 实例53 破解密码框内容 实例54 16进制编辑输入框 实例55 树型注释 实例56 目录树结构 第15章 组合框集锦 实例57 多列显示的组合框 实例58 自动完成功能的组合框 实例59 浮动的组合框 实例60 浮动的彩色组合框 第16章 操作系统的组合框 实例61 “快照”组合框 实例62 多列属性组合框 实例仍 使用组合框选择颜色 实例64 使用组合框选择字体 第17章 组合框和列表框 实例65 具有历史记录的组合框 实例66 系统图像列表 实例67 excel表格视图 实例68 浏览数据库的列表框 第18章 属性页初级篇 实例69 改变属性页的按钮区 实例70 完整的属性页应用程序 实例71 嵌入对话框中的属性页 实例72 实现wizard 第19章 属性页及标签页高级篇 实例73 在对话框中的属性页 实例74 实现标签下标式的视图切换 实例75 属性列表控件 实例76 标签列表控件 第20章 工具栏集锦 实例77 具有下拉按钮的工具栏 实例78 工具栏中的列表框 实例79 各种颜色和大小的工具栏 实例80 气球式提示窗口 第21章 状态栏初级篇 实例81 改变状态栏的状态格 实例82 进度条中的文字 实例83 带声音的提示条 实例84 3d向量控件 第22章 状态栏高级篇 实例85 丰富的状态栏风格 实例86 使用动画控件 实例87 使用日历控件 实例88 使用柱状图控件 第23章 系统操作之一 实例89 方便的日历托盘 实例90 列举系统字体 实例91 实现注册表功能 实例92 检测windows版本号 第24章 系统操作之二 实例93 动画显示的托盘 实例94 浮动窗口 实例95 获得系统硬件信息 第25章 系统操作之三 实例96 修改系统[开始]菜单 实例97 检测系统中的api包 第26章 系统操作之四 实例98 建立自己的任务栏 实例99 隐藏任务条中的应用程序 实例100 检测cpu的时钟 附录a 窗口类与窗口样式 a.1 窗口类结构 a.2 窗口类样式 a.3 窗口样式分组 附录b mfc中windows公共控件的通知消息 b.1 windows公共控件的通知 b.2 通知消息结构 b.3 通知过程概述 b.4 更好地处理通知的方案 b.5 用0n_n0tify_range指定通知域 附录c visual c++开发实用技巧
1. 下载FileTool.exe,并解压 2. 打开VC6.0,点击File-Open Workspace,选择刚解压出来的FileTool.dsw,并确定 3. 点击Bulid-Build FileTool.dll,生成FileTool.dll文件 4. 把生成的FileTool.dll文件拷贝到合适的地方(避免误删),在VC6.0中点击Tools-Customize 5. 在出现的“Customize”对话框中,点击Add-Ins and Macro Files标签 6. 点击Browse,在文件类型下选 dll , 定位刚才生成的dll文件,点击确定,然后点击OK保存设置 7. 此时VC中会出现一个上面只有两个图标的工具栏,点击其右上角的“X”按钮将其关闭,然后关闭VC6.0并重新启动程序 将这个dll文件复制到X:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 重新打开VC++6.0,工具->定制->附加项和宏文件,选中FileTool Developer Studio Add-in即可。 此时打开VC6会有一个浮动工具栏(A O),点击A就是添加文件到工程,点击O就是打开文件 8. 还是在VC6.0中点击Tools-Customize 9. 在Customize对话框中点击Keboard标签 10. 从Category的下拉菜单框中选择File 11.在Commands窗口选择FileOpen 12.在Current keys窗口选择CTRL+O条目,并点击Remove 13.从Category的下拉菜单框中选择Project 14.在Commands窗口选择InsertFilesIntoProject,如果之前给它注册了快捷键,则按照上面所说步骤移除之,默认情况下它是没有快捷键的 15.从Category的下拉菜单框中选择Add-Ins 16.这时Commands窗口中应该已经多出了AddFileToProject和OpenFile两个条目,可以给它们分配快捷键了,选择 OpenFile条目,然后点击Press New Shortcut Key输入框,按下想设置的快捷键或快捷键组合(如打开文件默认的快捷键CTRL+O),点击Assign 可以以同样的方法为其它的命令设置快捷键 最后,还应该在菜单栏内做相应的改动,移除无法使用的旧Open命令,换上新的: 1. 在VC6.0中点击Tools-Customize(然后点击一下Toolbars或者Commands,这样才能下一步) 2. 点击vc6.0工具栏上的File菜单,并将弹出菜单中的Open命令拖拽至弹出菜单之外(出现一个减号时释放,别弄错了给它拖到其他菜单中去了)并释放 3. 点击Project菜单,并将弹出菜单中的Add To Project命令拖拽至弹出菜单之外并释放 4. 在Customize对话框中选择Commands标签 5. 在Category列表中选择Add-ins 6. 点击File菜单,将OpenFile命令(图标为字母O)拖动到之前Open命令所在位置 点击Project菜单,将AddFileToProject命令(图标为字母A)拖动到之前Add To Projec命令所在位置 这样,VC6.0中无法打开文件和无法向工程中添加文件的问题就解决了。
1,WINAPI_OCX.zip封装了部分Windows API的控件(92KB)2,HeaderCtrl.zip多行标题的CListCtrl(19KB)3,RoundBut.zip你需要圆形的按钮吗?这个类已经替你做好了,它可是有正常、平面、下推几种风格的,快使用它吧(25KB)4,TransBut.zip实现背景透明的按钮类(306KB)5,AviButton.zip这个类库可以在按钮上显示AVI动画,很酷的(68KB)6,cirbutton.zip一个圆形的可下推按钮,还不错,可以试试看(50KB)7,anibutton.zip这是一个可以使用DIB显示动画的按钮类库,值得一试(186KB)8,bitbutton.zip这个类库允许你在按钮上使用位图和文字(9KB)9,CButtonST.zip只要你的程序中使用按钮,这个类库就使你可以轻松做出图文并茂的按钮来(133KB)10,hoverbut.zip这个类库是对鼠标敏感的按纽,你用它可以做出象Office助手提示选项那样的东东来(24KB)11,menubut.zip当用户单击一个按钮时弹出一个菜单(5KB)12,TrackBut.zip也是一个位图按钮。不过可比MFC提供的那个好多了!(222KB)13,Stranbut.zip你需要不规则形状的按钮吗?这个类已经替你做好了,使用它吧(67KB)14,tributton.zip你需要三角形的按钮吗?这个类已经替你做好了,使用它吧(31KB)15,butpicker.zip你想有一个选择颜色的下拉列表吗?胜至你想有一个选择图形的下拉列表吗?这个类是你所需的,下载一个回去试试,分析分析一定会有收获(85KB)16,flat_comb.zip你有没有想过在你的应用程序中加入"浮动"的组合框,就象Microsoft Office中的那样?用这个类就能轻松搞定(21KB)17,fontcombo.zip这是一个用于选择字体的组合框类库,而且直接可以预览(46KB)18,icon_comb.zip这是一个选择图标的组合框的类(2KB)19,mrucombo.zip这个聪明的组合框具有IE那样的自动纪录历史的功能,你最近使用过的文件它会个个记在帐上。需要设计"History"功能的朋友赶快下载一个吧!(21KB)20,mulcombo2.zip这是一个具有多列功能的组合框,如果你的选择项需要多列显示的话一定需要这个东东(44KB)21,autocomp.zip这个聪明的组合框可以根据你的部分输入和可选项替你自动完成,就像IE的地址栏一样。是不是很好?快下载一个吧(24KB)22,ColorSel.zip一个用于颜色选择的组合框的例子(41KB)23,DriveBox.zip一个用于选择驱动器的组合框,告诉你如何实现自画控件以及如何通过Windows Shell得到驱动器的图标(128KB)24,mccombobox.zip这是一个多列的组合框类库(22KB)25,mlistbox.zip这个例子讨论了列表框的单/复选问题,值得一看(22KB)26,checklist.zip这是一个多列且具有检查框的列表框。使用它,你可以制作诸如安装程序中的自定义安装明细表等等。(50KB)27,ListBoxEx.zip你知道怎么让列表框水平滚动吗?这个类会向你解释一切(85KB)28,FlatBox.zip浮动效果的列表框,很酷的!(3KB)29,ColorBox.zip这是一个可以以不同颜色显示列表项目的列表框类库(17KB)30,iconpick.zip一个图标选择的列表框(32KB)31,hexedit.zip这是一个从Cedit派生的十六进制的编辑框类库(30KB)32,histedit.zip注意过Visual C++的Output窗口
1,pic_open.zip带位图预览的打开文件对话框(4KB)2,bmpdlg.zip一个位图对话框类 (11KB)3,folder.zip只显示文件夹信息的文件对话框(2KB)4,dir_pic.zip文件目录搜集工具对话框(42KB)5,splash.zip通过自己的线程在Splash对话框中显示文字(136KB)6,res_dlg.zip大小可调的对话框(21KB)7,splitter.zip可变的分割视图(58KB)8,anicon1.zip在窗口的标题条上显示动画图标演示程序(47KB)9,anicon2.zip在窗口的标题条上显示动画图标(2KB)10,simple.zip一般用途的分隔器类(43KB)11,outlook.zipOutLook风格的分隔条(59KB)12,appbar1.zip实现桌面的工具条(AppBar)(12KB)13,appbar2.zip实现桌面的工具条演示程序(AppBar)(88KB)14,trayicon1.zip屏幕保护托盘图标(SDK版本)(27KB)15,trayicon2.zip屏幕保护托盘图标(MFC版本)(30KB)16,cj60lib.zipMFC扩展界面库(VC6升级版)(936KB)17,devstudio.zipVisual Studio风格的用户界面(132KB)18,explorer.zipVisual Studio风格的用户界面(213KB)19,outlook1.zipOutLook风格的用户界面(134KB)20,Ccaption.zip一组用于定制窗口标题的类(36KB)21,Ccaption2.zip一组用于定制窗口标题的类演示程序(79KB)22,treectrl1.zipDirTreeCtrl--显示文件夹和文件演示程序(56KB)23,treectrl2.zipDirTreeCtrl--显示文件夹和文件(6KB)24,menutip.zip实现菜单的工具提示(33KB)25,menubar1.zipDevStudio样式的泊位菜单条演示程序(不用MSIE)(58KB)26,menubar2.zipDevStudio样式的泊位菜单条(不用MSIE)(27KB)27,propbox1.zip实用的属性列表框(5KB)28,propbox2.zip实用的属性列表框演示程序(25KB)29,cchecklist.zip一个多层次的CCheckListBox(18KB)30,popchild.zip 在Popup和Child窗口之间转化(43KB)31,multitop.zip 一个SDI(单文档界面)的应用,通过File菜单中的Create New Frame命令能够创建一个位于顶层的SDI应用,但关闭主应用后其它的窗口也将关闭,程序由Visual C++ 5.0开发(30KB)32,picknew.zip 演示如何注册多文档模板且避免MFC自动产生的"New File Type"对话框,程序由Visual C++ 5.0开发,调用了CDocTemplate::OpenDocumentFile()(49KB)33,listbox1.zip一个类似VisualStudio样式的列表框类(17KB)34,listbox2.zip一个类似VisualStudio样式的列表框类演示程序(50KB)35,custfile.zip 这个例子能够在CFileDialog中增加一对按纽,需要使用Visual C++ 6.0(23KB)36,icondlg.zip 这是一个从资源DLL中选取图标的对话框(12KB)37,Modal.zip 创建一个模式的窗口(38KB)38,dock_menu.zip 演示如何实现DevStdio中的菜单风格,值得研究 COOL(157KB)39,tooltip.zip 可以多行显示的提示条,且颜色可变(32KB)40,ntray.zip 你想知道拨号网络连通后的动态小图标(Tray Icons)是怎么实现的吗?这个例子可以告诉你一切 COOL(17KB)41,w95tray.zip Windows95 Tray Icon的例子(9KB)42,startmenu.exe 修改Start菜单(27KB)43,splits.zip 这个由Visual C++ 5.0开发的程序演示如何管理View中的切分窗口,用到了CSplitterWnd::DeleteView()和CSplitterWnd::CreateView()等成员函数(35KB)44,swt.zipDOS下仿WIN95界面及图标编辑器源程序(498k C&ASM 作者:添翼虎)(499KB)45,menutest.zip定制WIN95图形菜单演示程序(12KB)46,toolbar1.zip在ToolBar中嵌入CListBox(39KB)47,fromto.zip从一图退到另一图(54KB)48,cj60libsrc.zip界面开发库Cj60Lib的源程序(268KB)49,password.zip 拖动放大镜到密码输入框能得到密码的内容 COOL(15KB)50,ProperWnd.zip 属性页放置在窗口的指定位置(58KB)51,pushpin.zip在属性页的左边加入一个图钉按纽,熟悉Microsoft Developer Stdio的朋友一定很熟悉(16KB)52,apibrow.zip这个例子使用公用控制回调在一个CListView中管理CListCtrl控制,这个例子用于分析了一些以逗号为分割符的文本文件,例如在你的\MSDEV\LIB(VC5.0在DevStudio\VC\Lib)目录下的Win32Api.CSV就是这样的文件(16KB)53,scrl.zip这是一个由Visual C++ 5.0开发的基于对话框的应用,它演示如何使用CListCtrl::Scroll()函数,它是CListView的report方式的一个子集(14KB)54,treelist1.zip显示资源管理器风格的目录树结构的例子(64KB)55,list_menu.zip 在ToolBar中嵌入CListBox,看起来像图形菜单(39KB)程序的源代码,支持对ICON多种特效处理,能在EXE,DLL文件中取出ICON文件,并能将BMP文件转化为ICON,本程序也是个很酷的工具(117KB)58,ctrbars.zip 一个简单的工具条的程序例子(18KB)59,cj60.zip类似于Developer Studio,Explore界面的类库(165KB)60,cj601.zip类似于Developer Studio,Explore界面的类库(95KB)61,cj602.zip类似于Developer Studio,Explore界面的类库(100KB)62,fileNew.zip文件更新事件类演示程序(37KB)63,CfileNew.zip文件更新事件类(4KB)64,outbar.zip类似OutLook左边按钮条的控件(163KB)65,waitdialog.zip等待对话框(22KB)66,coolmenu.zipOffice 97风格菜单实现(298KB)67,dirpk.exe目录选择对话(78KB)68,docktest.zip演示Docking Window(220kb)69,drivevie.zip查看系统安装的驱动器(34kb)70,enhstbar.zip在状态条上显示按钮和进度指示条(88kb)71,fully.zip全屏幕显示窗口例子程序(42kb)72,icondial.zip在对话框内显示图标列表(12kb)73,mfccmd.zip多重Undo/Redo实现(90kb)74,mfcdde.zipDDE实例(53kb)75,splasher.zip启动屏幕程序(47kb)76,toolbar.zip一个工具条的例子(174kb)77,vwrplc32.exe文档视图结构实例(42KB)78,ModalWin.zip一个多文档的例子(1880kb)79,HTMViewer.ziphtml文件浏览器(1870kb)80,picwin.zip给任意窗口添加背景(2KB)81,DynCon.zip动态改变对话框的大小, 对话框中的控件相应改变(166KB)82,tabstatus.zip在多文档应用程序的状态条中加入子窗口的列表, 使程序的状态条有点像Windows 95的任务条(62KB)83,jpeg.zip操作JPEG的库和源程序(390KB)84,dibimage.zip这个例子功能强大,能够以多种方式处理位图文件,强烈推荐 COOL(112KB)85,voicecmd.zip在你的软件中增加语音控制功能COOL(31KB)86,pathDlg.zip能够选择和创建文件夹的对话框(22KB)87,AniDlg.zip想作动态对话框吗?下载一个回去看看吧!(18KB)88,dlgtbar.zip想在对话框中实现浮动工具栏吗?这个代码是你的最佳选择。(19KB)89,DlgMenu.zip教你在对话框中加入菜单,一学就会。(26KB)90,fold.zip使用相当简单,实现文件夹浏览,里面附带英文说明。(4KB)91,CoolAbout.zip支持滚动文字图象,并可用鼠标操作方向。(26KB)92,FullDlg.zip用这类你可以实现全屏对话框,并且你用它可以切换到运行的其它应用程序中。(3KB)93,Colorsrc.zip一个很漂亮的颜色选择类。(157KB)94,TabDialog.zip能将对话框“钉”在屏幕上。(36KB)95,tip_ocx.zip你有没有觉得VC提供的那个Tip of the day控件很简陋?现在好了,Michael Walz带给我们一个Visual Studio那样的界面漂亮的Tip of the day。(26KB)96,PathPic.zip这个类库提供了选择目录的功能,比通用的CFileDialog好多了。(20KB)97,twopanes.zip你有没有想过把通用对话框作为你的窗口的一个View是什么样子的?看看这个例子吧。(9KB)98,bcmenu21.zip可以利用工具条资源,绘制图标菜单。(56KB)99,MENU4_MDI.ZIP可以利用工具条资源,自动绘制图标菜单,MDI版本。(62KB)100,MENU4_SDI.ZIP可以利用工具条资源,自动绘制图标菜单,SDI版本。(61KB)101,toolbar2.zip这个程序演示了如何利用工具栏的新特性,在工具栏中的某个按钮加入下拉式的列表。(28KB)102,avi_bar.zip可以在状态栏里加入一个AVI动画。(34KB)103,outlook.zip这个类库使你可以创建象OutLook那样的切分窗口。(59KB)104,cxysplit.zip这是一个可以在DialogBox中使用的切分类库。(21KB)105,AutoWnd.zip自动切分一个视图,并且高亮显示具有输入焦点的视图。(31KB)106,MyWnd.zip高亮显示具有输入焦点的视图。(2KB)107,bhagat.zip使用一个简单的函数调用就可以在切分视图中动态创建任何类型的新视图。(64KB)108,MSDNWnd.zip这是一个MSDN中的切分窗口的例子,虽不怎么样但已经完整展示了切分操作。对于初学者是一个很好的参考。(37KB)109,rulers.zip使用固定大小的切分窗口(上面、左边部分)在视图中加入标尺。(就象Photoshop中的标尺那样)酷极了。(5KB)110,VisualFx.zip使用固定大小的切分窗口(上面、左边部分)在视图中加入标尺。(就象Photoshop中的标尺那样)酷极了。(88KB)111,infobar.zip定制了一个与outlook,outlook express相同的信息条。(16KB)112,BCGB.zipBCGControlBar的AppWizard,编译运行之后你在new的时候就可以选择使用BCGControlBar界面风格了。你最好与BCGControlBar一起下载使用。(215KB)113,sizecbar.zip支持浮动窗体的类库,使用它你可以轻松的做出象Visual Studio那样的界面来。(65KB)114,Coolocx.zip所有你能想到的控件一个都不能少,全都是浮动的效果乃至连Windows通用对话框都浮动。(62KB)115,fullscreen.zip让你轻松实现全屏显示的代码,很简单轻易更可上手,告诉你,全屏时你还可以保留工具条。(22KB)116,sys_tray.zip完全封装windows任务栏,使用此类可以轻松操作任务栏图标及其菜单功能。(51KB)117,regester.zip封装有关注册表操作的函数,使你可以轻松添加、删除、修改主键或键值。(2KB)118,bmpdraw.zip可以用bmp文件构造该类,不须在设计时将bmp文件加入到资源中去。其它功能多多。(5KB)119,split.zip从中可以学习CFile类的使用方法。(39KB)120,strange.zip用VC++实现异形窗口(234KB)121,csh.zip在对话框中实现提示条风格的上下文敏感帮助(75KB)122,whfname.zip从窗口句柄中得到文件名(6KB)

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧