gpt4 book ai didi

winapi - 使用 Win32 API 创建表

转载 作者:行者123 更新时间:2023-12-02 05:07:53 25 4
gpt4 key购买 nike

我一直在网上搜索有关 win32 API 的不同内容,但似乎所有相关信息都相当稀疏。

我正在创建一个显示项目列表的简单窗口,但是我想以表格样式格式显示每个项目的不同数据列,其中用户可能可以调整不同列的大小宽度。

如果可能的话,我还希望能够在代码中更改不同行的背景颜色,即普通的白色、红色、黄色或绿色。

用户还可以右键单击不同的行,并能够在它们上调用函数,或将数据复制到剪贴板(但这部分是不同的故事)。

现在,我找到了可以放置在窗口、按钮和右键菜单中的列表查看器对象(?)...但我不知道如何使用 Win32 API 制作表格。除了窗口本身之外,我什至还没有真正阅读过任何其他内容的背景颜色。

我是否应该使用一个不同的、更好的框架来实现此目的,或者是否有一些我遗漏的功能或项目?对于这个想法的所有帮助或指导将不胜感激......

我正在使用 MSVC++ 来做...我正在做的所有事情。

最佳答案

使用Windows API和标准控件ListView,您可以使用LVS_REPORT样式制作表格

文档链接 - 不幸的是没有代码:( -

About List-View Controls

我发现这篇好文章Windows Programmierung: List View解释是德语,但谷歌翻译和代码应该足以理解它。从文章中,创建窗口:

#include "commctrl.h"

InitCommonControls();
hwndList = CreateWindow(WC_LISTVIEW, "",
WS_VISIBLE|WS_BORDER|WS_CHILD | LVS_REPORT | LVS_EDITLABELS,
10, 10, 300, 100,
hWnd, (HMENU)ID_LIST, hInst, 0);

然后解释如何在方法中创建列

int CreateColumn(HWND hwndLV, int iCol, char *Text, int iWidth)

如何插入项目(一列)

int CreateItem(HWND hwndList, char *Text)

或插入两列项目

int Create2ColItem(HWND hwndList, char *Text1, char *Text2)

等等...

关于winapi - 使用 Win32 API 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8966330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com