MFC LISTBOX使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC LISTBOX使用相关的知识,希望对你有一定的参考价值。
我对LISTBOX完全白。。。
我现在有变量SCtring A=“fdasfD";
如何在listbox的界面输出出来
详细一点~~~谢谢
的确编译过了...但是LISTBOX的窗口上。。。并没有显示A的值啊
生成一个CListBox控件变量,m_listbox
通过m_listbox插入数据,m_listbox.AddString(A);
这样就可以了
我在OnInitDialog函数末尾增加以下代码,可以正常显示的。
CString A="fdasfD";
m_listbox.AddString(A);
return TRUE; // return TRUE unless you set the focus to a control
参考技术A 你是不是还没建立对话框就引用了这句代码了?光有m_Dlg这个对话框类变量不等于对话框就存在了,还要m_Dlg.DoModal()或者非模态方式创建对话框以后,m_List控件才真正创建,才可以使用,否则只是一个变量而已.如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快! 参考技术B ((CListBox*)GetDlgItem(IDC_LIST1))->AddString(A); //IDC_LIST1根据自己的定义修改
将 ListBox 复制到剪贴板,返回载体未保存
【中文标题】将 ListBox 复制到剪贴板,返回载体未保存【英文标题】:Copy ListBox to Clipboard, return carrier not conserved 【发布时间】:2013-11-11 15:43:06 【问题描述】:在使用 MFC 的 C++ 应用程序中,我希望能够将整个 CListBox 内容复制到剪贴板。
我发现了一个复制内容的功能,但是返回的载体没有保存。 我用 HexEditor 看,它似乎是 $0A 而不是 $0D&$0A。
这是我的代码:
CListBox * myListBox = (CListBox *)GetDlgItem(IDC_LIST_RESULT);
CString sContents = _T("");
CString temp = _T("");
int NumberOfSelections = 0;
NumberOfSelections = myListBox->GetCount();
for(int Selection = 0; Selection <= NumberOfSelections-1; Selection++)
myListBox->GetText(Selection, temp);
sContents += temp;
sContents +="\n";
if (OpenClipboard())
HGLOBAL clipbuffer;
char * buffer;
if (EmptyClipboard())
clipbuffer = GlobalAlloc(GMEM_DDESHARE, sContents.GetLength() + 1);
buffer = (char*)GlobalLock(clipbuffer);
CStringA ansiString(sContents);
size_t cbString = strlen(ansiString) + 1;
strcpy_s(buffer, cbString, ansiString);
GlobalUnlock(clipbuffer);
if (SetClipboardData(CF_TEXT, clipbuffer) == NULL)
CString msg;
msg.Format(_T("Unable to set Clipboard data, error: %d"), GetLastError());
AfxMessageBox(msg);
else
AfxMessageBox(_T("Successfully copied selected laps to clipboard"));
else
AfxMessageBox(_T("Unable to empty Clipboard"));
CloseClipboard();
else
AfxMessageBox(_T("Unable to open Clipboard"));
// TODO: ajoutez ici le code de votre gestionnaire de notification de contrôle
我在 Visual Studio 2013 中使用 unicode 配置。
有人有什么想法吗?
非常感谢,
最好的问候,
尼克斯
【问题讨论】:
【参考方案1】:只有一个\n
,因为这是您在剪贴板中输入的内容。
sContents +="\n";
应该是
sContents +="\r\n";
【讨论】:
以上是关于MFC LISTBOX使用的主要内容,如果未能解决你的问题,请参考以下文章