可以在非MFC项目的对话框中使用ListControl吗?我正在使用visual c ++ 2010.
到目前为止我看到的示例使用MFC,因此在我看来ListControl是MFC的一部分。我正在处理的代码不是基于MFC的,但是,Visual Studio仍然允许在资源视图中向对话框添加ListControl,并为List Control生成rc代码。所以我的猜测是我应该能够使用它。但是,我无法使用在线发现的标准方法将变量添加到ListControl并使用它。
在这种情况下如何使用ListControl?例如添加列或向单元格写入内容?一些代码示例肯定会有所帮助。
答案 0 :(得分:2)
CListCtrl
class是一个MFC类。它只能在MFC项目中使用。
但是,def one_hot(inputs, num_classes):
with tf.device('/cpu:0'):
table = tf.constant(np.identity(num_classes, dtype=np.float32))
embeddings = tf.nn.embedding_lookup(table, inputs)
return embeddings
只是ListView common control的包装器,而ListView控件可以在任何Windows应用程序中使用 - 不需要MFC。
Visual C ++附带的资源编辑器(令人困惑)将ListView控件称为“列表控件”。您可以在对话框中插入一个,它所要做的就是插入一个ListView控件。
如果您正在使用MFC,则可以选择创建与该控件对应的成员变量。该成员变量的类型将为CListCtrl
,因为它封装了对话框中ListView控件的访问权限。
如果您不使用MFC,您仍然可以使用ListView控件,您只需使用标准SDK机制来访问和操作它。例如,要将项目插入对话框的ListView控件,您将获得控件的窗口句柄(CListCtrl
)并向其发送GetDlgCtrlID
消息。 SDK文档包含sample code listings,但它们是一种相当差的学习方式。良好的旧Windows SDK编程的最佳资源仍然是Charles Petzold的Programming Windows。